Cheap VPS & Xen Server


Residential Proxy Network - Hourly & Monthly Packages

Setting Up A PXE Install Server For Multiple Linux Distributions On Debian Lenny


This tutorial shows how to set up a PXE (short for preboot execution environment) install server on Debian Lenny. A PXE install server allows your client computers to boot and install a Linux distribution over the network, without the need of burning Linux iso images onto a CD/DVD, boot floppy images, etc. This is handy if your client computers don’t have CD or floppy drives, or if you want to set up multiple computers at the same time (e.g. in a large enterprise), or simply because you want to save the money for the CDs/DVDs. In this article I show how to configure a PXE server that allows you to boot multiple distributions (i386 and x86_64): Debian Lenny, Ubuntu 9.04, Fedora 10, CentOS 5.3, OpenSuSE 11.1, and Mandriva 2009.1.

I want to say first that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!

 

1 Preliminary Note

It is important that you have a decent Internet connection because your client computers will fetch all needed packages from the repositories in the Internet (I tested this on a 30MBit connection which seems to be fast enough. ;-)). It is possible to store all packages on the PXE server as well so that you don’t need an Internet connection (just the LAN connection to the PXE server), but then you need a lot of storage space on the PXE server (remember, it will serve multiple distributions), so I don’t cover this here.

And the most important thing is that your client computers support booting over the network. You should check each computer’s BIOS for this option.

On our system that should serve as the PXE server you should have already set up a basic Debian Lenny server system, for example as shown in the chapters 1 – -7 of this tutorial: http://www.Kreationnext.com/perfect-server-debian-lenny-ispconfig2

 

2 Install All Necessary Packages

First we update our packages database by running

aptitude update

We need to install the packages netkit-inetd, tftpd-hpa, dhcp3-server, and lftp, so we run

aptitude install netkit-inetd tftpd-hpa dhcp3-server lftp

Afterwards run

netstat -uap | grep tftp

and check if you see something like this:

server1:~# netstat -uap | grep tftp
udp        0      0 *:tftp                  *:*                                 2242/inetd
server1:~#

If you don’t see the tftp line, please open /etc/inetd.conf and make sure you find the following in it:

vi /etc/inetd.conf

[...]
#:BOOT: TFTP service is provided primarily for booting.  Most sites
#       run this only on machines acting as "boot servers."
tftp           dgram   udp     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
[...]

Then restart inetd:

/etc/init.d/openbsd-inetd restart

Now

netstat -uap | grep tftp

should show tftp.

 

3 Configure The DHCP Server

We need a DHCP server in our local network. If there’s no DHCP server in your local network, just configure and use the one on your future PXE server. Simply edit /etc/dhcp3/dhcpd.conf:

cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_orig
cat /dev/null > /etc/dhcp3/dhcpd.conf

vi /etc/dhcp3/dhcpd.conf

option domain-name-servers 145.253.2.75, 213.191.92.86;

default-lease-time 86400;
max-lease-time 604800;

authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.10 192.168.0.49;
        filename "pxelinux.0";
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
}

This will dynamically assign IP addresses from the range 192.168.0.10 to 192.168.0.49 to your client computers; the gateway is 192.168.0.1. Of course, you must adjust this configuration to your own environment!

It is important that you have the line

filename “pxelinux.0”;

in your configuration!

Then restart your DHCP server:

/etc/init.d/dhcp3-server restart

If you already have a DHCP server in your network, you must modify its configuration. Let’s assume you have something like

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.10 192.168.0.49;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
}

in the configuration. You must add

filename “pxelinux.0”;
next-server 192.168.0.100;

to it (where 192.168.0.100 is the IP address of our Debian Lenny PXE server) so that it looks like this:

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.10 192.168.0.49;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
        filename "pxelinux.0";
        next-server 192.168.0.100;
}

Then restart your DHCP server.

 

4 Set Up Debian Lenny Netboot (i386)

Now we are ready to set up the netboot for our first distribution, Debian Lenny (i386). The necessary files for the netboot can be found on http://ftp.de.debian.org/debian/dists/lenny/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://ftp.de.debian.org/debian/dists/lenny/main/installer-i386/current/images/; mirror netboot/”
mv netboot/* /var/lib/tftpboot
rm -fr netboot

(You can download the files from any other Debian 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:

cat /var/lib/tftpboot/pxelinux.cfg/default

# D-I config version 1.0
include debian-installer/i386/boot-screens/menu.cfg
default debian-installer/i386/boot-screens/vesamenu.c32
prompt 0
timeout 0

Debian uses included files in this file, so there’s not much to learn from here (unless you take a look at the included files). All paths in this file are relative to the /var/lib/tftpboot directory, so debian-installer/i386/boot-screens/menu.cfg translates to /var/lib/tftpboot/debian-installer/i386/boot-screens/menu.cfg. As we add more distributions and architectures (i386 <-> x86_64) to our PXE install server, we will modify the /var/lib/tftpboot/pxelinux.cfg/default file radically.

The output of

ls -la /var/lib/tftpboot

should look like this now:

server1:/tmp# ls -la /var/lib/tftpboot
total 15432
drwxr-xr-x  6 root root    4096 2009-05-06 14:59 .
drwxr-xr-x 22 root root    4096 2009-05-06 14:57 ..
drwxr-xr-x  3 root root    4096 2009-04-09 01:32 debian-installer
drwxr-xr-x  4 root root    4096 2009-04-09 01:33 gtk
-rw-r–r–  1 root root 8302592 2009-04-08 23:32 mini.iso
-rw-r–r–  1 root root 7430381 2009-04-08 23:32 netboot.tar.gz
-rw-r–r–  1 root root   15820 2009-04-08 23:33 pxelinux.0
drwxr-xr-x  2 root root    4096 2009-04-09 01:32 pxelinux.cfg
drwxr-xr-x  2 root root    4096 2009-04-09 01:34 xen
server1:/tmp#

When a client computer boots up over the network, it will look for the file /var/lib/tftpboot/pxelinux.cfg/default and load it.

 

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 Debian Lenny 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 Debian Lenny installation screen:

1

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!

6 Add Debian Lenny x86_64 Netboot

Now let’s add further distributions and architectures to our PXE server (you don’t want to run one PXE server per distribution/architecture, do you?). Or current directory structure looks like this:

/var/lib/tftpboot
|
+debian-installer
|
+i386

What I want is this instead which is more clearly arranged:

/var/lib/tftpboot
|
+centos
|     |
|     +5.3
|        |
|        +i386
|        |
|        +x86_64
|
+debian
|     |
|     +lenny
|          |
|          +i386
|          |
|          +x86_64
|
|
|
+fedora
|     |
|     +10
|       |
|       +i386
|       |
|       +x86_64
|
+mandriva
|       |
|       +2009.1
|             |
|             +i386
|             |
|             +x86_64
|
+suse
|   |
|   +11.1
|       |
|       +i386
|       |
|       +x86_64
|
+ubuntu
|
+jaunty
|
+i386
|
+x86_64

So first we move the current debian-installer directory (which contains Debian Lenny i386) to debian/lenny/:

mv /var/lib/tftpboot/debian-installer /var/lib/tftpboot/lenny
mkdir /var/lib/tftpboot/debian
mv /var/lib/tftpboot/lenny /var/lib/tftpboot/debian/

Then we download the netboot files for Debian Lenny x86_64 and move them to /var/lib/tftpboot/debian/lenny/x86_64/ like this (Debian and Ubuntu use the term amd64 instead of x86_64 for their 64-bit versions – please keep this in mind for our further operations!):

mkdir /var/lib/tftpboot/debian/lenny/x86_64
cd /tmp
lftp -c “open http://ftp.de.debian.org/debian/dists/lenny/main/installer-amd64/current/images/; mirror netboot/”
cd /tmp/netboot/debian-installer/
mv amd64/* /var/lib/tftpboot/debian/lenny/x86_64

(You can download the files from any other Debian mirror as well. Use one that is close to you.)

Then delete the /tmp/netboot directory:

cd /tmp/
rm -fr netboot/

Now that we have two different architectures for Debian Lenny on our PXE server, we need to modify the file /var/lib/tftpboot/pxelinux.cfg/default so that the PXE clients select from all available architectures. Debian Lenny’s default /var/lib/tftpboot/pxelinux.cfg/default uses included files (see chapter 4) which doesn’t help us much in finding out how we have to modify that file so that it can offer multiple architectures/distributions. Fortunately the files /var/lib/tftpboot/debian/lenny/i386/boot-screens/adtxt.cfg, /var/lib/tftpboot/debian/lenny/i386/boot-screens/txt.cfg, /var/lib/tftpboot/debian/lenny/x86_64/boot-screens/adtxt.cfg, and /var/lib/tftpboot/debian/lenny/x86_64/boot-screens/txt.cfg are more meaningful – let’s take a look:

cat /var/lib/tftpboot/debian/lenny/i386/boot-screens/adtxt.cfg

label expert
        menu label ^Expert install
        kernel debian-installer/i386/linux
        append priority=low vga=normal initrd=debian-installer/i386/initrd.gz --
label rescue
        menu label ^Rescue mode
        kernel debian-installer/i386/linux
        append vga=normal initrd=debian-installer/i386/initrd.gz rescue/enable=true -- quiet
label auto
        menu label ^Automated install
        kernel debian-installer/i386/linux
        append auto=true priority=critical vga=normal initrd=debian-installer/i386/initrd.gz -- quiet

cat /var/lib/tftpboot/debian/lenny/i386/boot-screens/txt.cfg

default install
label install
        menu label ^Install
        menu default
        kernel debian-installer/i386/linux
        append vga=normal initrd=debian-installer/i386/initrd.gz -- quiet

cat /var/lib/tftpboot/debian/lenny/x86_64/boot-screens/adtxt.cfg

label expert
        menu label ^Expert install
        kernel debian-installer/amd64/linux
        append priority=low vga=normal initrd=debian-installer/amd64/initrd.gz --
label rescue
        menu label ^Rescue mode
        kernel debian-installer/amd64/linux
        append vga=normal initrd=debian-installer/amd64/initrd.gz rescue/enable=true -- quiet
label auto
        menu label ^Automated install
        kernel debian-installer/amd64/linux
        append auto=true priority=critical vga=normal initrd=debian-installer/amd64/initrd.gz -- quiet

cat /var/lib/tftpboot/debian/lenny/x86_64/boot-screens/txt.cfg

default install
label install
        menu label ^Install
        menu default
        kernel debian-installer/amd64/linux
        append vga=normal initrd=debian-installer/amd64/initrd.gz -- quiet

As you see, these files contain all valid installation options (install, expert, etc.) for Debian Lenny, each in its own label stanza. All paths in this file are relative to the /var/lib/tftpboot directory.

Of course, we should use unique names for the various installation options – if there are two installation options named install, one for Debian Lenny i386 and the other one for Debian Lenny x86_64, then nobody know which option to choose.

Therefore we modify /var/lib/tftpboot/pxelinux.cfg/default as follows (it’s made up mostly of the previous four files, but I’ve changed the names of the installation options and also the paths!):

vi /var/lib/tftpboot/pxelinux.cfg/default

DISPLAY boot.txt

default lenny_i386_install

label lenny_i386_install
        menu label ^Install
        menu default
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_i386_expert
        menu label ^Expert install
        kernel debian/lenny/i386/linux
        append priority=low vga=normal initrd=debian/lenny/i386/initrd.gz --
label lenny_i386_rescue
        menu label ^Rescue mode
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz rescue/enable=true -- quiet
label lenny_i386_auto
        menu label ^Automated install
        kernel debian/lenny/i386/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_amd64_install
        menu label ^Install
        menu default
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet
label lenny_amd64_expert
        menu label ^Expert install
        kernel debian/lenny/x86_64/linux
        append priority=low vga=normal initrd=debian/lenny/x86_64/initrd.gz --
label lenny_amd64_rescue
        menu label ^Rescue mode
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz rescue/enable=true -- quiet
label lenny_amd64_auto
        menu label ^Automated install
        kernel debian/lenny/x86_64/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet

prompt 1
timeout 0

(Make sure you set prompt to 1!)

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:
=======================
lenny_i386_install     lenny_amd64_install
lenny_i386_expert      lenny_amd64_expert
lenny_i386_rescue      lenny_amd64_rescue
lenny_i386_auto        lenny_amd64_auto

 

7 Add Ubuntu 9.04 Netboot (i386 and x86_64)

Next we download the Ubuntu 9.04 netboot files and put them in /var/lib/tftpboot/ubuntu/jaunty like this:

i386:

mkdir -p /var/lib/tftpboot/ubuntu/jaunty
cd /tmp
lftp -c “open http://archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-i386/current/images/; mirror netboot/”
cd netboot/
mv ubuntu-installer/i386 /var/lib/tftpboot/ubuntu/jaunty
cd /tmp/
rm -fr netboot/

x86_64:

mkdir -p /var/lib/tftpboot/ubuntu/jaunty/x86_64
cd /tmp
lftp -c “open http://archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-amd64/current/images/; mirror netboot/”
cd /tmp/netboot/ubuntu-installer/
mv amd64/* /var/lib/tftpboot/ubuntu/jaunty/x86_64
cd /tmp/
rm -fr netboot/

(You can download the files from any other Ubuntu mirror as well. Use one that is close to you.)

We need to modify /var/lib/tftpboot/pxelinux.cfg/default again. To get an idea what to add, take a look at the four files /var/lib/tftpboot/ubuntu/jaunty/i386/boot-screens/adtext.cfg, /var/lib/tftpboot/ubuntu/jaunty/i386/boot-screens/text.cfg, /var/lib/tftpboot/ubuntu/jaunty/x86_64/boot-screens/adtext.cfg, and /var/lib/tftpboot/ubuntu/jaunty/x86_64/boot-screens/text.cfg:

cat /var/lib/tftpboot/ubuntu/jaunty/i386/boot-screens/adtext.cfg

label expert
        menu label ^Expert install
        kernel ubuntu-installer/i386/linux
        append priority=low vga=normal initrd=ubuntu-installer/i386/initrd.gz --
label cli-expert
        menu label Command-^line expert install
        kernel ubuntu-installer/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu-installer/i386/initrd.gz --
label rescue
        menu label ^Rescue mode
        kernel ubuntu-installer/i386/linux
        append vga=normal initrd=ubuntu-installer/i386/initrd.gz rescue/enable=true -- quiet

cat /var/lib/tftpboot/ubuntu/jaunty/i386/boot-screens/text.cfg

default install
label install
        menu label ^Install
        menu default
        kernel ubuntu-installer/i386/linux
        append vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet
label cli
        menu label ^Command-line install
        kernel ubuntu-installer/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet

cat /var/lib/tftpboot/ubuntu/jaunty/x86_64/boot-screens/adtext.cfg

label expert
        menu label ^Expert install
        kernel ubuntu-installer/amd64/linux
        append priority=low vga=normal initrd=ubuntu-installer/amd64/initrd.gz --
label cli-expert
        menu label Command-^line expert install
        kernel ubuntu-installer/amd64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu-installer/amd64/initrd.gz --
label rescue
        menu label ^Rescue mode
        kernel ubuntu-installer/amd64/linux
        append vga=normal initrd=ubuntu-installer/amd64/initrd.gz rescue/enable=true -- quiet

cat /var/lib/tftpboot/ubuntu/jaunty/x86_64/boot-screens/text.cfg

default install
label install
        menu label ^Install
        menu default
        kernel ubuntu-installer/amd64/linux
        append vga=normal initrd=ubuntu-installer/amd64/initrd.gz -- quiet
label cli
        menu label ^Command-line install
        kernel ubuntu-installer/amd64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu-installer/amd64/initrd.gz -- quiet

We can now add Ubuntu 9.04 to /var/lib/tftpboot/pxelinux.cfg/default. My complete file looks as follows:

vi /var/lib/tftpboot/pxelinux.cfg/default

DISPLAY boot.txt

default lenny_i386_install

label lenny_i386_install
        menu label ^Install
        menu default
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_i386_expert
        menu label ^Expert install
        kernel debian/lenny/i386/linux
        append priority=low vga=normal initrd=debian/lenny/i386/initrd.gz --
label lenny_i386_rescue
        menu label ^Rescue mode
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz rescue/enable=true -- quiet
label lenny_i386_auto
        menu label ^Automated install
        kernel debian/lenny/i386/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_amd64_install
        menu label ^Install
        menu default
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet
label lenny_amd64_expert
        menu label ^Expert install
        kernel debian/lenny/x86_64/linux
        append priority=low vga=normal initrd=debian/lenny/x86_64/initrd.gz --
label lenny_amd64_rescue
        menu label ^Rescue mode
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz rescue/enable=true -- quiet
label lenny_amd64_auto
        menu label ^Automated install
        kernel debian/lenny/x86_64/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet

label jaunty_i386_install
        menu label ^Install
        menu default
        kernel ubuntu/jaunty/i386/linux
        append vga=normal initrd=ubuntu/jaunty/i386/initrd.gz -- quiet
label jaunty_i386_cli
        menu label ^Command-line install
        kernel ubuntu/jaunty/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/jaunty/i386/initrd.gz -- quiet
label jaunty_i386_expert
        menu label ^Expert install
        kernel ubuntu/jaunty/i386/linux
        append priority=low vga=normal initrd=ubuntu/jaunty/i386/initrd.gz --
label jaunty_i386_cli-expert
        menu label Command-^line expert install
        kernel ubuntu/jaunty/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu/jaunty/i386/initrd.gz --
label jaunty_i386_rescue
        menu label ^Rescue mode
        kernel ubuntu/jaunty/i386/linux
        append vga=normal initrd=ubuntu/jaunty/i386/initrd.gz rescue/enable=true -- quiet
label jaunty_amd64_install
        menu label ^Install
        menu default
        kernel ubuntu/jaunty/x86_64/linux
        append vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz -- quiet
label jaunty_amd64_cli
        menu label ^Command-line install
        kernel ubuntu/jaunty/x86_64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz -- quiet
label jaunty_amd64_expert
        menu label ^Expert install
        kernel ubuntu/jaunty/x86_64/linux
        append priority=low vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz --
label jaunty_amd64_cli-expert
        menu label Command-^line expert install
        kernel ubuntu/jaunty/x86_64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz --
label jaunty_amd64_rescue
        menu label ^Rescue mode
        kernel ubuntu/jaunty/x86_64/linux
        append vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz rescue/enable=true -- quiet

prompt 1
timeout 0

Add the new installation options to /var/lib/tftpboot/boot.txt:

vi /var/lib/tftpboot/boot.txt

Available Boot Options:
=======================
lenny_i386_install     lenny_amd64_install
lenny_i386_expert      lenny_amd64_expert
lenny_i386_rescue      lenny_amd64_rescue
lenny_i386_auto        lenny_amd64_auto
jaunty_i386_install    jaunty_amd64_install
jaunty_i386_cli        jaunty_amd64_cli
jaunty_i386_expert     jaunty_amd64_expert
jaunty_i386_cli-expert jaunty_amd64_cli-expert
jaunty_i386_rescue     jaunty_amd64_rescue

8 Add Fedora 10 Netboot (i386 and x86_64)

Next we download the Fedora 10 netboot files and put them in /var/lib/tftpboot/fedora/10 like this:

cd /var/lib/tftpboot
mkdir -p fedora/10/i386
cd fedora/10/i386
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora.redhat.com/linux/releases/10/Fedora/i386/os/images/pxeboot/initrd.img
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora.redhat.com/linux/releases/10/Fedora/i386/os/images/pxeboot/vmlinuz

cd /var/lib/tftpboot
mkdir -p fedora/10/x86_64
cd fedora/10/x86_64
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora.redhat.com/linux/releases/10/Fedora/x86_64/os/images/pxeboot/initrd.img
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora.redhat.com/linux/releases/10/Fedora/x86_64/os/images/pxeboot/vmlinuz

(You can download the files from any other Fedora mirror as well. Use one that is close to you.)

Then add two Fedora 10 LABEL stanzas (one for i386 and the other one for x86_64) to /var/lib/tftpboot/pxelinux.cfg/default. The file should now look like this:

vi /var/lib/tftpboot/pxelinux.cfg/default

DISPLAY boot.txt

default lenny_i386_install

label lenny_i386_install
        menu label ^Install
        menu default
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_i386_expert
        menu label ^Expert install
        kernel debian/lenny/i386/linux
        append priority=low vga=normal initrd=debian/lenny/i386/initrd.gz --
label lenny_i386_rescue
        menu label ^Rescue mode
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz rescue/enable=true -- quiet
label lenny_i386_auto
        menu label ^Automated install
        kernel debian/lenny/i386/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_amd64_install
        menu label ^Install
        menu default
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet
label lenny_amd64_expert
        menu label ^Expert install
        kernel debian/lenny/x86_64/linux
        append priority=low vga=normal initrd=debian/lenny/x86_64/initrd.gz --
label lenny_amd64_rescue
        menu label ^Rescue mode
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz rescue/enable=true -- quiet
label lenny_amd64_auto
        menu label ^Automated install
        kernel debian/lenny/x86_64/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet

label jaunty_i386_install
        menu label ^Install
        menu default
        kernel ubuntu/jaunty/i386/linux
        append vga=normal initrd=ubuntu/jaunty/i386/initrd.gz -- quiet
label jaunty_i386_cli
        menu label ^Command-line install
        kernel ubuntu/jaunty/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/jaunty/i386/initrd.gz -- quiet
label jaunty_i386_expert
        menu label ^Expert install
        kernel ubuntu/jaunty/i386/linux
        append priority=low vga=normal initrd=ubuntu/jaunty/i386/initrd.gz --
label jaunty_i386_cli-expert
        menu label Command-^line expert install
        kernel ubuntu/jaunty/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu/jaunty/i386/initrd.gz --
label jaunty_i386_rescue
        menu label ^Rescue mode
        kernel ubuntu/jaunty/i386/linux
        append vga=normal initrd=ubuntu/jaunty/i386/initrd.gz rescue/enable=true -- quiet
label jaunty_amd64_install
        menu label ^Install
        menu default
        kernel ubuntu/jaunty/x86_64/linux
        append vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz -- quiet
label jaunty_amd64_cli
        menu label ^Command-line install
        kernel ubuntu/jaunty/x86_64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz -- quiet
label jaunty_amd64_expert
        menu label ^Expert install
        kernel ubuntu/jaunty/x86_64/linux
        append priority=low vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz --
label jaunty_amd64_cli-expert
        menu label Command-^line expert install
        kernel ubuntu/jaunty/x86_64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz --
label jaunty_amd64_rescue
        menu label ^Rescue mode
        kernel ubuntu/jaunty/x86_64/linux
        append vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz rescue/enable=true -- quiet

LABEL fedora10_i386_linux
         kernel fedora/10/i386/vmlinuz
         append initrd=fedora/10/i386/initrd.img
LABEL fedora10_x86_64_linux
         kernel fedora/10/x86_64/vmlinuz
         append initrd=fedora/10/x86_64/initrd.img

prompt 1
timeout 0

Add the new installation options to /var/lib/tftpboot/boot.txt:

vi /var/lib/tftpboot/boot.txt

Available Boot Options:
=======================
lenny_i386_install     lenny_amd64_install      fedora10_i386_linux
lenny_i386_expert      lenny_amd64_expert       fedora10_x86_64_linux
lenny_i386_rescue      lenny_amd64_rescue
lenny_i386_auto        lenny_amd64_auto
jaunty_i386_install    jaunty_amd64_install
jaunty_i386_cli        jaunty_amd64_cli
jaunty_i386_expert     jaunty_amd64_expert
jaunty_i386_cli-expert jaunty_amd64_cli-expert
jaunty_i386_rescue     jaunty_amd64_rescue

When you install Fedora 10 over the network, the installer will ask you about the installation method. Select HTTP and enter ftp-stud.fht-esslingen.de as the host, pub/Mirrors/fedora.redhat.com/linux/releases/10/Fedora/i386/os/ or pub/Mirrors/fedora.redhat.com/linux/releases/10/Fedora/x86_64/os/ as the directory. Of course, you can use any other Fedora mirror as well; use one that is close to you.

 

9 Add CentOS 5.3 Netboot (i386 and x86_64)

Next we download the CentOS 5.3 netboot files and put them in /var/lib/tftpboot/centos/5.3 like this:

cd /var/lib/tftpboot
mkdir -p centos/5.3/i386
cd centos/5.3/i386
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.3/os/i386/images/pxeboot/initrd.img
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.3/os/i386/images/pxeboot/vmlinuz

cd /var/lib/tftpboot
mkdir -p centos/5.3/x86_64
cd centos/5.3/x86_64
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.3/os/x86_64/images/pxeboot/initrd.img
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.3/os/x86_64/images/pxeboot/vmlinuz

(You can download the files from any other CentOS mirror as well. Use one that is close to you.)

Then add two CentOS 5.3 LABEL stanzas to /var/lib/tftpboot/pxelinux.cfg/default. The file should now look like this:

vi /var/lib/tftpboot/pxelinux.cfg/default

DISPLAY boot.txt

default lenny_i386_install

label lenny_i386_install
        menu label ^Install
        menu default
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_i386_expert
        menu label ^Expert install
        kernel debian/lenny/i386/linux
        append priority=low vga=normal initrd=debian/lenny/i386/initrd.gz --
label lenny_i386_rescue
        menu label ^Rescue mode
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz rescue/enable=true -- quiet
label lenny_i386_auto
        menu label ^Automated install
        kernel debian/lenny/i386/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_amd64_install
        menu label ^Install
        menu default
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet
label lenny_amd64_expert
        menu label ^Expert install
        kernel debian/lenny/x86_64/linux
        append priority=low vga=normal initrd=debian/lenny/x86_64/initrd.gz --
label lenny_amd64_rescue
        menu label ^Rescue mode
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz rescue/enable=true -- quiet
label lenny_amd64_auto
        menu label ^Automated install
        kernel debian/lenny/x86_64/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet

label jaunty_i386_install
        menu label ^Install
        menu default
        kernel ubuntu/jaunty/i386/linux
        append vga=normal initrd=ubuntu/jaunty/i386/initrd.gz -- quiet
label jaunty_i386_cli
        menu label ^Command-line install
        kernel ubuntu/jaunty/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/jaunty/i386/initrd.gz -- quiet
label jaunty_i386_expert
        menu label ^Expert install
        kernel ubuntu/jaunty/i386/linux
        append priority=low vga=normal initrd=ubuntu/jaunty/i386/initrd.gz --
label jaunty_i386_cli-expert
        menu label Command-^line expert install
        kernel ubuntu/jaunty/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu/jaunty/i386/initrd.gz --
label jaunty_i386_rescue
        menu label ^Rescue mode
        kernel ubuntu/jaunty/i386/linux
        append vga=normal initrd=ubuntu/jaunty/i386/initrd.gz rescue/enable=true -- quiet
label jaunty_amd64_install
        menu label ^Install
        menu default
        kernel ubuntu/jaunty/x86_64/linux
        append vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz -- quiet
label jaunty_amd64_cli
        menu label ^Command-line install
        kernel ubuntu/jaunty/x86_64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz -- quiet
label jaunty_amd64_expert
        menu label ^Expert install
        kernel ubuntu/jaunty/x86_64/linux
        append priority=low vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz --
label jaunty_amd64_cli-expert
        menu label Command-^line expert install
        kernel ubuntu/jaunty/x86_64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz --
label jaunty_amd64_rescue
        menu label ^Rescue mode
        kernel ubuntu/jaunty/x86_64/linux
        append vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz rescue/enable=true -- quiet

LABEL fedora10_i386_linux
         kernel fedora/10/i386/vmlinuz
         append initrd=fedora/10/i386/initrd.img
LABEL fedora10_x86_64_linux
         kernel fedora/10/x86_64/vmlinuz
         append initrd=fedora/10/x86_64/initrd.img

LABEL centos5.3_i386_linux
         kernel centos/5.3/i386/vmlinuz
         append initrd=centos/5.3/i386/initrd.img
LABEL centos5.3_x86_64_linux
         kernel centos/5.3/x86_64/vmlinuz
         append initrd=centos/5.3/x86_64/initrd.img

prompt 1
timeout 0

Add the new installation options to /var/lib/tftpboot/boot.txt:

vi /var/lib/tftpboot/boot.txt

Available Boot Options:
=======================
lenny_i386_install     lenny_amd64_install      fedora10_i386_linux
lenny_i386_expert      lenny_amd64_expert       fedora10_x86_64_linux
lenny_i386_rescue      lenny_amd64_rescue       centos5.3_i386_linux
lenny_i386_auto        lenny_amd64_auto         centos5.3_x86_64_linux
jaunty_i386_install    jaunty_amd64_install
jaunty_i386_cli        jaunty_amd64_cli
jaunty_i386_expert     jaunty_amd64_expert
jaunty_i386_cli-expert jaunty_amd64_cli-expert
jaunty_i386_rescue     jaunty_amd64_rescue

When you install CentOS 5.3 over the network, the installer will ask you about the installation method. Select HTTP and enter ftp-stud.fht-esslingen.de as the host, pub/Mirrors/centos/5.3/os/i386/ or pub/Mirrors/centos/5.3/os/x86_64/ as the directory. Of course, you can use any other CentOS mirror as well; use one that is close to you.

10 Add Mandriva 2009.1 Netboot (i386 and x86_64)

Next we download the Mandriva 2009.1 netboot files and put them in /var/lib/tftpboot/mandriva/2009.1 like this:

cd /var/lib/tftpboot
mkdir -p mandriva/2009.1/i386
cd mandriva/2009.1/i386
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrivalinux/official/2009.1/i586/isolinux/alt0/vmlinuz
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrivalinux/official/2009.1/i586/isolinux/alt0/all.rdz

cd /var/lib/tftpboot
mkdir -p mandriva/2009.1/x86_64
cd mandriva/2009.1/x86_64
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrivalinux/official/2009.1/x86_64/isolinux/alt0/vmlinuz
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrivalinux/official/2009.1/x86_64/isolinux/alt0/all.rdz

(You can download the files from any other Mandriva mirror as well. Use one that is close to you.)

Then add two Mandriva 2009.1LABEL stanzas to /var/lib/tftpboot/pxelinux.cfg/default. The file should now look like this:

vi /var/lib/tftpboot/pxelinux.cfg/default

DISPLAY boot.txt

default lenny_i386_install

label lenny_i386_install
        menu label ^Install
        menu default
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_i386_expert
        menu label ^Expert install
        kernel debian/lenny/i386/linux
        append priority=low vga=normal initrd=debian/lenny/i386/initrd.gz --
label lenny_i386_rescue
        menu label ^Rescue mode
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz rescue/enable=true -- quiet
label lenny_i386_auto
        menu label ^Automated install
        kernel debian/lenny/i386/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_amd64_install
        menu label ^Install
        menu default
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet
label lenny_amd64_expert
        menu label ^Expert install
        kernel debian/lenny/x86_64/linux
        append priority=low vga=normal initrd=debian/lenny/x86_64/initrd.gz --
label lenny_amd64_rescue
        menu label ^Rescue mode
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz rescue/enable=true -- quiet
label lenny_amd64_auto
        menu label ^Automated install
        kernel debian/lenny/x86_64/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet

label jaunty_i386_install
        menu label ^Install
        menu default
        kernel ubuntu/jaunty/i386/linux
        append vga=normal initrd=ubuntu/jaunty/i386/initrd.gz -- quiet
label jaunty_i386_cli
        menu label ^Command-line install
        kernel ubuntu/jaunty/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/jaunty/i386/initrd.gz -- quiet
label jaunty_i386_expert
        menu label ^Expert install
        kernel ubuntu/jaunty/i386/linux
        append priority=low vga=normal initrd=ubuntu/jaunty/i386/initrd.gz --
label jaunty_i386_cli-expert
        menu label Command-^line expert install
        kernel ubuntu/jaunty/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu/jaunty/i386/initrd.gz --
label jaunty_i386_rescue
        menu label ^Rescue mode
        kernel ubuntu/jaunty/i386/linux
        append vga=normal initrd=ubuntu/jaunty/i386/initrd.gz rescue/enable=true -- quiet
label jaunty_amd64_install
        menu label ^Install
        menu default
        kernel ubuntu/jaunty/x86_64/linux
        append vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz -- quiet
label jaunty_amd64_cli
        menu label ^Command-line install
        kernel ubuntu/jaunty/x86_64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz -- quiet
label jaunty_amd64_expert
        menu label ^Expert install
        kernel ubuntu/jaunty/x86_64/linux
        append priority=low vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz --
label jaunty_amd64_cli-expert
        menu label Command-^line expert install
        kernel ubuntu/jaunty/x86_64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz --
label jaunty_amd64_rescue
        menu label ^Rescue mode
        kernel ubuntu/jaunty/x86_64/linux
        append vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz rescue/enable=true -- quiet

LABEL fedora10_i386_linux
         kernel fedora/10/i386/vmlinuz
         append initrd=fedora/10/i386/initrd.img
LABEL fedora10_x86_64_linux
         kernel fedora/10/x86_64/vmlinuz
         append initrd=fedora/10/x86_64/initrd.img

LABEL centos5.3_i386_linux
         kernel centos/5.3/i386/vmlinuz
         append initrd=centos/5.3/i386/initrd.img
LABEL centos5.3_x86_64_linux
         kernel centos/5.3/x86_64/vmlinuz
         append initrd=centos/5.3/x86_64/initrd.img

LABEL mandriva2009.1_i386_linux
         kernel mandriva/2009.1/i386/vmlinuz
         append initrd=mandriva/2009.1/i386/all.rdz
LABEL mandriva2009.1_x86_64_linux
         kernel mandriva/2009.1/x86_64/vmlinuz
         append initrd=mandriva/2009.1/x86_64/all.rdz

prompt 1
timeout 0

Add the new installation options to /var/lib/tftpboot/boot.txt:

vi /var/lib/tftpboot/boot.txt

Available Boot Options:
=======================
lenny_i386_install     lenny_amd64_install      fedora10_i386_linux
lenny_i386_expert      lenny_amd64_expert       fedora10_x86_64_linux
lenny_i386_rescue      lenny_amd64_rescue       centos5.3_i386_linux
lenny_i386_auto        lenny_amd64_auto         centos5.3_x86_64_linux
jaunty_i386_install    jaunty_amd64_install     mandriva2009.1_i386_linux
jaunty_i386_cli        jaunty_amd64_cli         mandriva2009.1_x86_64_linux
jaunty_i386_expert     jaunty_amd64_expert
jaunty_i386_cli-expert jaunty_amd64_cli-expert
jaunty_i386_rescue     jaunty_amd64_rescue

When you install Mandriva 2009.1 over the network, the installer will ask you about the installation method. Select HTTP and then pick Mandriva 2009.1.

 

11 Add OpenSuSE 11.1 Netboot (i386 and x86_64)

Next we download the OpenSuSE 11.1 netboot files and put them in /var/lib/tftpboot/suse/11.1 like this:

cd /var/lib/tftpboot
mkdir -p suse/11.1/i386
cd suse/11.1/i386
wget http://ftp.uni-ulm.de/pub/mirrors/opensuse/distribution/11.1/repo/oss/boot/i386/loader/initrd
wget http://ftp.uni-ulm.de/pub/mirrors/opensuse/distribution/11.1/repo/oss/boot/i386/loader/linux

cd /var/lib/tftpboot
mkdir -p suse/11.1/x86_64
cd suse/11.1/x86_64
wget http://ftp.uni-ulm.de/pub/mirrors/opensuse/distribution/11.1/repo/oss/boot/x86_64/loader/initrd
wget http://ftp.uni-ulm.de/pub/mirrors/opensuse/distribution/11.1/repo/oss/boot/x86_64/loader/linux

(You can download the files from any other OpenSuSE mirror as well. Use one that is close to you.)

Then add two OpenSuSE 11.1LABEL stanzas to /var/lib/tftpboot/pxelinux.cfg/default. The file should now look like this:

vi /var/lib/tftpboot/pxelinux.cfg/default

DISPLAY boot.txt

default lenny_i386_install

label lenny_i386_install
        menu label ^Install
        menu default
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_i386_expert
        menu label ^Expert install
        kernel debian/lenny/i386/linux
        append priority=low vga=normal initrd=debian/lenny/i386/initrd.gz --
label lenny_i386_rescue
        menu label ^Rescue mode
        kernel debian/lenny/i386/linux
        append vga=normal initrd=debian/lenny/i386/initrd.gz rescue/enable=true -- quiet
label lenny_i386_auto
        menu label ^Automated install
        kernel debian/lenny/i386/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/i386/initrd.gz -- quiet
label lenny_amd64_install
        menu label ^Install
        menu default
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet
label lenny_amd64_expert
        menu label ^Expert install
        kernel debian/lenny/x86_64/linux
        append priority=low vga=normal initrd=debian/lenny/x86_64/initrd.gz --
label lenny_amd64_rescue
        menu label ^Rescue mode
        kernel debian/lenny/x86_64/linux
        append vga=normal initrd=debian/lenny/x86_64/initrd.gz rescue/enable=true -- quiet
label lenny_amd64_auto
        menu label ^Automated install
        kernel debian/lenny/x86_64/linux
        append auto=true priority=critical vga=normal initrd=debian/lenny/x86_64/initrd.gz -- quiet

label jaunty_i386_install
        menu label ^Install
        menu default
        kernel ubuntu/jaunty/i386/linux
        append vga=normal initrd=ubuntu/jaunty/i386/initrd.gz -- quiet
label jaunty_i386_cli
        menu label ^Command-line install
        kernel ubuntu/jaunty/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/jaunty/i386/initrd.gz -- quiet
label jaunty_i386_expert
        menu label ^Expert install
        kernel ubuntu/jaunty/i386/linux
        append priority=low vga=normal initrd=ubuntu/jaunty/i386/initrd.gz --
label jaunty_i386_cli-expert
        menu label Command-^line expert install
        kernel ubuntu/jaunty/i386/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu/jaunty/i386/initrd.gz --
label jaunty_i386_rescue
        menu label ^Rescue mode
        kernel ubuntu/jaunty/i386/linux
        append vga=normal initrd=ubuntu/jaunty/i386/initrd.gz rescue/enable=true -- quiet
label jaunty_amd64_install
        menu label ^Install
        menu default
        kernel ubuntu/jaunty/x86_64/linux
        append vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz -- quiet
label jaunty_amd64_cli
        menu label ^Command-line install
        kernel ubuntu/jaunty/x86_64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz -- quiet
label jaunty_amd64_expert
        menu label ^Expert install
        kernel ubuntu/jaunty/x86_64/linux
        append priority=low vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz --
label jaunty_amd64_cli-expert
        menu label Command-^line expert install
        kernel ubuntu/jaunty/x86_64/linux
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz --
label jaunty_amd64_rescue
        menu label ^Rescue mode
        kernel ubuntu/jaunty/x86_64/linux
        append vga=normal initrd=ubuntu/jaunty/x86_64/initrd.gz rescue/enable=true -- quiet

LABEL fedora10_i386_linux
         kernel fedora/10/i386/vmlinuz
         append initrd=fedora/10/i386/initrd.img
LABEL fedora10_x86_64_linux
         kernel fedora/10/x86_64/vmlinuz
         append initrd=fedora/10/x86_64/initrd.img

LABEL centos5.3_i386_linux
         kernel centos/5.3/i386/vmlinuz
         append initrd=centos/5.3/i386/initrd.img
LABEL centos5.3_x86_64_linux
         kernel centos/5.3/x86_64/vmlinuz
         append initrd=centos/5.3/x86_64/initrd.img

LABEL mandriva2009.1_i386_linux
         kernel mandriva/2009.1/i386/vmlinuz
         append initrd=mandriva/2009.1/i386/all.rdz
LABEL mandriva2009.1_x86_64_linux
         kernel mandriva/2009.1/x86_64/vmlinuz
         append initrd=mandriva/2009.1/x86_64/all.rdz

LABEL suse11.1_i386_linux
         kernel suse/11.1/i386/linux
         append initrd=suse/11.1/i386/initrd splash=silent showopts
LABEL suse11.1_x86_64_linux
         kernel suse/11.1/x86_64/linux
         append initrd=suse/11.1/x86_64/initrd splash=silent showopts

prompt 1
timeout 0

Add the new installation options to /var/lib/tftpboot/boot.txt:

vi /var/lib/tftpboot/boot.txt

Available Boot Options:
=======================
lenny_i386_install     lenny_amd64_install      fedora10_i386_linux
lenny_i386_expert      lenny_amd64_expert       fedora10_x86_64_linux
lenny_i386_rescue      lenny_amd64_rescue       centos5.3_i386_linux
lenny_i386_auto        lenny_amd64_auto         centos5.3_x86_64_linux
jaunty_i386_install    jaunty_amd64_install     mandriva2009.1_i386_linux
jaunty_i386_cli        jaunty_amd64_cli         mandriva2009.1_x86_64_linux
jaunty_i386_expert     jaunty_amd64_expert      suse11.1_i386_linux
jaunty_i386_cli-expert jaunty_amd64_cli-expert  suse11.1_x86_64_linux
jaunty_i386_rescue     jaunty_amd64_rescue

When you install OpenSuSE 11.1 over the network, the installer will ask you if CD 1 (?) is in the CD drive. As the purpose of our PXE server is not to use any CDs, select Back. As installation method, select HTTP and enter ftp.uni-ulm.de as the host, pub/mirrors/opensuse/distribution/11.1/repo/oss as the directory. Of course, you can use any other OpenSuSE mirror as well; use one that is close to you.

 

12 Boot Menu On The PXE Client

Now when you boot a computer from PXE, you should see the following boot menu:

2

Just type in the name of the distribution that you want to install (e.g. lenny_amd64_install).

 

  • PXE (Wikipedia): http://en.wikipedia.org/wiki/Preboot_Execution_Environment
  • Ubuntu: http://www.ubuntu.com
  • Debian: http://www.debian.org
  • Fedora: http://fedoraproject.org
  • CentOS: http://www.centos.org
  • Mandriva: http://www.mandriva.com
  • OpenSuSE: http://www.opensuse.org

Comments

comments