Setting Up A PXE Install Server For Multiple Linux Distributions With Ubuntu Edgy Eft - Page 3
On this page
6 Add Ubuntu Dapper Drake Netboot
Now let's add further distributions to our PXE server (you don't want to run one PXE server per distribution, do you?). Or current directory structure looks like this:
/var/lib/tftpboot
|
+ubuntu-installer
|
+i386
What I want is this instead which is more clearly arranged:
/var/lib/tftpboot
|
+centos
| |
| +4.4
| |
| +i386
|
+debian
| |
| +etch
| | |
| | +i386
| |
| +sarge
| |
| +i386
|
+fedora
| |
| +6
| |
| +i386
|
+mandriva
| |
| +2007.0
| |
| +i386
|
+suse
| |
| +10.2
| |
| +i386
|
+ubuntu
|
+dapper
| |
| +i386
|
+edgy
|
+i386
So first we move the current ubuntu-installer directory (which contains Ubuntu Edgy) to ubuntu/edgy/:
mv /var/lib/tftpboot/ubuntu-installer /var/lib/tftpboot/edgy
mkdir /var/lib/tftpboot/ubuntu
mv /var/lib/tftpboot/edgy /var/lib/tftpboot/ubuntu/
Then we download the netboot files for Ubuntu Dapper Drake and move them to /var/lib/tftpboot/ubuntu/dapper/ like this:
cd /tmp
lftp -c "open http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/; mirror netboot/"
cd netboot/
mv ubuntu-installer /var/lib/tftpboot/ubuntu/dapper
(You can download the files from any other Ubuntu mirror as well. Use one that is close to you.)
Still in the netboot directory, we have a look at Ubuntu Dapper Drake's pxelinux.cfg/default file. It looks like this:
vi 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=14332 root=/dev/rd/0 rw --
LABEL linux
kernel ubuntu-installer/i386/linux
append vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=14332 root=/dev/rd/0 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=14332 root=/dev/rd/0 rw --
LABEL expert
kernel ubuntu-installer/i386/linux
append DEBCONF_PRIORITY=low vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=14332 root=/dev/rd/0 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 DEBCONF_PRIORITY=low vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=14332 root=/dev/rd/0 rw --
LABEL rescue
kernel ubuntu-installer/i386/linux
append vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=14332 root=/dev/rd/0 rw rescue/enable=true --
PROMPT 1
TIMEOUT 0
|
Copy all the LABEL stanzas to your favourite text editor and replace ubuntu-installer/ with ubuntu/dapper/. Also rename the LABEL names, e.g. linux to dapper_i386_linux, etc. Then open /var/lib/tftpboot/pxelinux.cfg/default and append the new LABEL stanzas to the ones for Ubuntu Edgy Eft. Also rename the Edgy Eft LABEL names to something more descriptive, e.g. from linux to edgy_i386_linux, and replace ubuntu-installer/ with ubuntu/edgy/. Remove the F1 - F10 lines and replace the DISPLAY line with DISPLAY boot.txt so that the new file looks like this:
vi /var/lib/tftpboot/pxelinux.cfg/default
DISPLAY boot.txt
DEFAULT edgy_i386_install
LABEL edgy_i386_install
kernel ubuntu/edgy/i386/linux
append vga=normal initrd=ubuntu/edgy/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw --
LABEL edgy_i386_linux
kernel ubuntu/edgy/i386/linux
append vga=normal initrd=ubuntu/edgy/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw --
LABEL edgy_i386_server
kernel ubuntu/edgy/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/edgy/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw --
LABEL edgy_i386_expert
kernel ubuntu/edgy/i386/linux
append priority=low vga=normal initrd=ubuntu/edgy/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw --
LABEL edgy_i386_server-expert
kernel ubuntu/edgy/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/edgy/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw --
LABEL edgy_i386_rescue
kernel ubuntu/edgy/i386/linux
append vga=normal initrd=ubuntu/edgy/i386/initrd.gz ramdisk_size=16417 root=/dev/ram rw rescue/enable=true --
LABEL dapper_i386_install
kernel ubuntu/dapper/i386/linux
append vga=normal initrd=ubuntu/dapper/i386/initrd.gz ramdisk_size=14332 root=/dev/rd/0 rw --
LABEL dapper_i386_linux
kernel ubuntu/dapper/i386/linux
append vga=normal initrd=ubuntu/dapper/i386/initrd.gz ramdisk_size=14332 root=/dev/rd/0 rw --
LABEL dapper_i386_server
kernel ubuntu/dapper/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/dapper/i386/initrd.gz ramdisk_size=14332 root=/dev/rd/0 rw --
LABEL dapper_i386_expert
kernel ubuntu/dapper/i386/linux
append DEBCONF_PRIORITY=low vga=normal initrd=ubuntu/dapper/i386/initrd.gz ramdisk_size=14332 root=/dev/rd/0 rw --
LABEL dapper_i386_server-expert
kernel ubuntu/dapper/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 DEBCONF_PRIORITY=low vga=normal initrd=ubuntu/dapper/i386/initrd.gz ramdisk_size=14332 root=/dev/rd/0 rw --
LABEL dapper_i386_rescue
kernel ubuntu/dapper/i386/linux
append vga=normal initrd=ubuntu/dapper/i386/initrd.gz ramdisk_size=14332 root=/dev/rd/0 rw rescue/enable=true --
PROMPT 1
TIMEOUT 0
|
Then delete the /tmp/netboot directory:
cd /tmp/
rm -fr netboot/
Now create the file /var/lib/tftpboot/boot.txt which is a simple text file that lists all available installation methods. The contents of the file will be displayed on the monitor when you boot a client computer over the network, thus the user of the client computer can see all installation methods and choose the one he likes.
vi /var/lib/tftpboot/boot.txt
Available Boot Options: ======================= edgy_i386_install edgy_i386_linux edgy_i386_server edgy_i386_expert edgy_i386_server-expert edgy_i386_rescue dapper_i386_install dapper_i386_linux dapper_i386_server dapper_i386_expert dapper_i386_server-expert dapper_i386_rescue |