I spent some time this week figuring out the requirements for installing Ubuntu locally over the network. Ubuntu has netboot installers which are more than happy to go find a public repository mirror for you, but how about installing over the LAN using the contents of the CD as the repository? Well, if you’re interested in fast installations and no longer burning CDs this tutorial is for you. You should note that this tutorial is considered intermediate to advanced so please read through the entire contents before you continue and research any steps you’re not familiar with before diving in.
This tutorial does not outline PXE boot based installation information. That is for an upcoming tutorial. This simply outlines installing the contents of the CD over the network. In order to do this we’ll need a few basic things:
- CD image
- netboot installer
The way that each of these requirements will be used is that we’ll copy the contents of the CD to a web-accessible share on Apache and then boot the machine-to-be-installed via the netboot installer (CD or USB based options available here).
- Download the .iso image for the ubuntu version and variant that you want, saving it to disk (alternate, not desktop!).
- Install apache “sudo aptitude install apache2” *
- netboot installer image i386 64bit (compatible for use with any alternate install image in step #1)
* The configuration of apache is beyond the scope of this tutorial but a basic installation should provide enough core functionality to allow us to continue with the installation.
Preparing the CD for installation
We’ll need to unpack the contents of the downloaded CD .iso file. The way I generally do this is using these commands:
sudo mkdir /var/www/ubuntu/ sudo mount -o loop /path/to/.iso /mnt sudo cp -a /mnt/* /var/www/ubuntu/
If you’re not familiar with the above commands we’re first creating a directory called ubuntu within our apache web-accessible directory. We’re then locally “loop” mounting the CD image to the location /mnt. Finally we’re copying the contents of the CD to our new directory.
Preparing the Installer
We’ll now need a netboot installer created. This is a very minimal installation CD that can be used to install any other Ubuntu image. For example one copy of this netboot installer will allow you to install previous, current and (most likely) future releases of Ubuntu as long as you have access to the web-accessible CD image or public repository. So, although above I promised no more burning CDs you will actually need to burn just *one* more. Also, this netboot installer image is available for CD or USB image if you prefer one over the other (I prefer USB). Hopefully you’ve already followed step #3 of the Requirements section and you have either the mini.iso or the boot.img.gz file downloaded. To prepare either of those for use do follow these steps: mini.iso (CD)
- (gnome) insert a writable disk into your machine, right-click mini.iso and select “Write to disk”.
- (KDE) insert a writable disk into your machine, right-click mini.iso and select “Actions > Write CD image with K3B”
boot.img.gz (USB) You’ll first need to uncompress this file before you can write the image to disk:
insert a USB device that you’ll use as your boot device. ALL DATA WILL BE WIPED TO MAKE IT BOOTABLE. You can use the ‘dmesg’ command to see what device your USB was detected as (sdb, sdc, etc). We’ll then write the contents of the image to the device using dd:
dd if=boot.img of=/dev/sdX (where X is the device detected with dmesg, sdb, etc)
Starting The Installer
You should now be ready to install your machine by booting either the CD or via the USB you’ve created. If you have trouble booting to either of those devices you might check your BIOS settings to see that one of them takes priority over the main hard drive. If you are using the boot.img on a USB you will want to remove this device when you are prompted with the language selection menu. This will help avoid conflicts with drives-to-be-installed, where to install the Boot Loader, etc. You’ll be presented with a very basic menu when the netboot installer loads.
To install only the base system type 'server', then ENTER.For the default installation, press ENTER.
The default installation is suitable for most desktop or laptop systems. Navigate through the installer as normal but watch for the step entitled:
Choose a mirror of the Ubuntu archive
At this step we will tell the installer to use a custom repository, in this case being the locally shared CD contents we set up previously. Instead of selecting your country in this step go up to the first option listed: (pg-up to the top)
enter information manually
I don’t think the option of entering custom information is very intuitive so I missed this the first few times through. Watch for this step. If you are given a prompt offering us.archive.ubuntu.com or CC.archive.ubuntu.com you’ve gone too far! The next step will prompt you for the hostname or IP address of the server you will be installing from. This is the IP address of the server you copied the CD contents and installed Apache to. After the hostname or IP is entered the installer will prompt you for the path to the publicly shared contents. If you closely followed these steps the default entry of /ubuntu/ should work. If you copied your CD contents into a folder other than /ubuntu/ you’ll need to update this accordingly. At this point navigate through the installer as normal and enjoy what should be faster installation speeds as network-based is usually faster than CD-based. As usual if you have any questions feel free to leave a comment. It should be noted, again, that this tutorial is probably considered intermediate to advanced so you may not want to undertake this if you’re a n00b.