Setting Up A PXE Install Server For Multiple Linux Distributions With Ubuntu Edgy Eft - Page 2
On this page
4 Set Up Ubuntu Edgy Eft Netboot
Now we are ready to set up the netboot for our first distribution, Ubuntu Edgy Eft (i386). The necessary files for the netboot can be found on http://archive.ubuntu.com/ubuntu/dists/edgy/main/installer-i386/current/images/netboot/. We download the files now and copy them to the /var/lib/tftpboot directory. This is the directory from where our PXE server will serve the installation images:
cd /tmp
lftp -c "open http://archive.ubuntu.com/ubuntu/dists/edgy/main/installer-i386/current/images/; mirror netboot/"
mv netboot/* /var/lib/tftpboot
rm -fr netboot
(You can download the files from any other Ubuntu mirror as well. Use one that is close to you.)
That's it already. Now have a look at the file /var/lib/tftpboot/pxelinux.cfg/default to get familiar with its structure:
vi /var/lib/tftpboot/pxelinux.cfg/default
DISPLAY ubuntu-installer/i386/boot-screens/boot.txt F1 ubuntu-installer/i386/boot-screens/f1.txt F2 ubuntu-installer/i386/boot-screens/f2.txt F3 ubuntu-installer/i386/boot-screens/f3.txt F4 ubuntu-installer/i386/boot-screens/f4.txt F5 ubuntu-installer/i386/boot-screens/f5.txt F6 ubuntu-installer/i386/boot-screens/f6.txt F7 ubuntu-installer/i386/boot-screens/f7.txt F8 ubuntu-installer/i386/boot-screens/f8.txt F9 ubuntu-installer/i386/boot-screens/f9.txt F0 ubuntu-installer/i386/boot-screens/f10.txt DEFAULT install LABEL install kernel ubuntu-installer/i386/linux append vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw -- LABEL linux kernel ubuntu-installer/i386/linux append vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw -- LABEL server kernel ubuntu-installer/i386/linux append base-installer/kernel/linux/extra-packages-2.6= pkgsel/install-pattern=~t^ubuntu-standard$ pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw -- LABEL expert kernel ubuntu-installer/i386/linux append priority=low vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw -- LABEL server-expert kernel ubuntu-installer/i386/linux append base-installer/kernel/linux/extra-packages-2.6= pkgsel/install-pattern=~t^ubuntu-standard$ pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw -- LABEL rescue kernel ubuntu-installer/i386/linux append vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw rescue/enable=true -- PROMPT 1 TIMEOUT 0 |
As you see, this file contains all valid installation options (linux, server, expert, etc.) for Ubuntu Edgy Eft, each in its own LABEL stanza. All paths in this file are relative to the /var/lib/tftpboot directory, so ubuntu-installer/i386/initrd.gz translates to /var/lib/tftpboot/ubuntu-installer/i386/initrd.gz. The output of
ls -la /var/lib/tftpboot
should look like this now:
root@server1:~# ls -la /var/lib/tftpboot/
total 25052
drwxr-xr-x 9 root root 4096 2006-12-14 19:25 .
drwxr-xr-x 21 root root 4096 2006-12-14 15:01 ..
-rw-r--r-- 1 root root 8315725 2006-10-21 02:42 boot.img.gz
-rw-r--r-- 1 root root 8849408 2006-10-21 02:42 mini.iso
-rw-r--r-- 1 root root 8381337 2006-10-21 02:42 netboot.tar.gz
-rw-r--r-- 1 root root 13156 2006-10-21 02:44 pxelinux.0
drwxr-xr-x 2 root root 4096 2006-12-14 19:39 pxelinux.cfg
drwxr-xr-x 4 root root 4096 2006-12-14 16:15 ubuntu-installer
When a client computer boots up over the network, it will look for the file /var/lib/tftpboot/pxelinux.cfg/default and load it, so that's the file we have to modify later on when we add more Linux distributions to our PXE server.
5 Our First Test
(Please make sure that the computers that you don't want to reinstall have the network boot option disabled in their BIOS settings because otherwise it is possible that you or someone else accidentally installs Ubuntu over the existing operating system!)
Now you can boot up your first client computer. Make sure you specified in its BIOS settings that it should use the network as its first boot device. If everything goes well, you should see the usual Ubuntu installation screen, and you can choose from one of the installation options from the /var/lib/tftpboot/pxelinux.cfg/default file, e.g. linux for a normal Ubuntu desktop, server, etc..
Don't forget to change the order of the boot devices after the successful installation (e.g. disable booting over the network and make the HDD the first boot device) because otherwise you will start another installation!