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

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.

Share this page:

4 Comment(s)

Add comment

Comments

From: at: 2009-05-28 14:05:47

Thanks for this tutorial.  Here are a couple of suggestions.

Instead of dhcp3-server, dnsmasq is a DNS caching and DHCP server aimed at home users.  It is very simple and intuitive to configure and includes dhcp boot server examples in its configuration file.  It even includes its own tftp server.

 Also, to automate downloading and installing Debian Installer files in /var/lib/tftpboot, install the package 'di-netboot-assistant'.

From: Tony at: 2009-12-31 12:54:40

Thanks very much for this. I've been trying for about a week to do this, after finding your page it was working in less than an hour. Very clear and concise. Thank you again!

From: Anonymous at: 2009-05-26 12:39:26

This is great, but I don't see why anyone would maintain a PXE setup and mirror distros manually when rather sophisticated tools like mrepo and cobbler can do it for you, while also adding a host of neat features like automatic updates and inclusion of 3rd party software channels, etc?

From: at: 2010-09-08 07:05:58

the installation is via debian mirror site. could we setup a mirror using the download dvd image? i do not want to have large traffic via WAN or setup a real mirror site.