How-To: Unattended Ubuntu Deployment over Network

1 minute read

there is many ways of installing Linux. Nowadays, the most common one is probably by using a CD. Download the CD, stick it in your CDRom drive and let’s roll!!!

If you intent to deploy Ubuntu over several computers, this can easily become cumbersome.

This tutorial will explain how to install Ubuntu/Debian through the network using preseed files so you can turn on your computer, walk away and come back later with your fresh install up and running.

When deploying Linux over the network, there is a good amount of server that have to be part of the stucture.

Basically, the computer you want to install is going to boot up on the network, get an IP address from a DHCP server. This server will tell the machine to contact a TFTP server which is going to provide it with a boot loader: PXELinux.

Finaly, the machine will pick up a kernel and a initrd file and start the process of installing its OS using a preconfiguration file preseed.

The debian-installer is going to be downloaded from Ubuntu repository as well as the rest of the packages.

This tutorial explain how to install each of the services and build the whole thing up so you can easily deploy Linux over the network.

Please note even though most of the idea could be use to deploy non debian based distro, the part concerning the installer is pretty tight to Ubuntu/Debian and any other debian based distro.

1. The Big Picutre

pxe netinstall diagram This is what infrastructure will look like. A DHCP server which will provide our client with an IP address and informations on where to get the boot lader.

A TFTP server hosting PXE boot loader and kernel/initrd images. Those will be loaded by the Client in order to start the Installer.

Get network details (yet again).

Fetch the preseed file and carries on with installing and fetching package from the internet.

This diagram roughly represent what will be involved in this process.

So, let’s roll and start configuring our first element involved: our DHCP server.