Chain loading PXE servers

| No Comments | No TrackBacks

At my $DAYJOB we manage our internal infrastructure with Plan9. This means our DHCP server and TFTP server are both on the Plan9 system.

I really like to use Cobbler as an installation tool. However it works best when cobbler is in charge of PXE and TFTP.

To get around this problem, I'm using PXE chaining.


First step is to install the syslinux tree on the plan9 system. I did this by installing the latest syslinux RPM from here onto a Linux system (I used my Cobbler host).

I then created a tarball of the Syslinux tree by running this command:

    [root@cobbler ~]# cd /usr/share/
    [root@cobbler share]# tar -cf /tmp/syslinux.tar syslinux/

I then copied the tarball to the plan9 system and extracted it under the directory /386

PXE configuration.

The next step is to create the configuration which PXELinux will use. This is done on the Plan9 system, and it is relative to the file pxelinux.0, so I created the directory /386/syslinux/pxelinux.cfg/. Then I added the file /386/syslinux/pxelinux.cfg/default with the following contents:

This sets up our system so we may boot from PXE and have a menu which points us at two different OTHER PXE servers.

Plan9 /lib/ndb/local configuration.

The next step is to configure the Plan9 system so that when you boot your machine it will boot off the network and show the menu. I didn't setup my Plan9 environment so I don't know the details of making it a DHCP and DNS server, but this is the section of the config for a server which will be using the new PXE menu:

Usability Configs.

One last thing I did was to reduce the default timeout on the PXE configuration of the Cobbler server. On the Cobbler server, I edited the file /etc/cobbler/pxe/pxedefault.template, and changed the timeout from 200 to 100, which makes the total timeout equal twenty seconds (ten for the first menu, ten for the cobbler menu)

I hope others can find this information useful.

No TrackBacks

TrackBack URL:

Leave a comment