[syslinux] pxechain.com and gpxelinux.0 odd behavior

Hans Lellelid hans at velum.net
Wed Aug 7 12:58:34 PDT 2013


I'm sure I'm doing something wrong here, but I would appreciate a pointer.
 I have tried to rtfm, but find the docs a little sparse wrt
pxechain.comand gpxelinux.0.

I am trying to setup a pxe chain server (aka chainloading?) where one of
the entries on one pxe server forwards to another (cobbler, in this case).
 I know this works fine with traditional pxelinux.0 images, but it's
failing when I try to forward to a gpxelinux.0 image.

We had switched to using gpxelinux.0 (specified via DHCP option 67) so that
we can use http protocol for fetching the kernel and initrd images.  This
provides significant performance improvements over UDP for us when we're
booting from networks separated by many routers, firewalls, etc.  I am
making the assumption here that I need to be consistently using gpxelinux.0
here (i.e. both in the initial pxe server and in the second-in-chain
server) in order for the http URLs to work.

The problem is that this works fine when I forward to /pxelinux.0 image but
not when I forward to /gpxelinux.0.

For the sake of example/clarification:
- My first pxe server is 192.168.1.200
- My cobbler server is 192.168.1.201

Both systems are running syslinux 4.06.

DHCP has next-server set to 192.168.1.200
Option 67 sets the pxe filename to "/gpxelinux.0"

On 192.168.1.200 /tftpboot/pxelinux.cfg/default file looks like:
<snip>
label cobbler
  kernel pxechain.com
  append 192.168.1.201::/gpxelinux.0

The first system loads up fine, but selecting "cobbler" starts loading the
second gPXE stuff as expected (lots of output related to network
information and environment) but then just hangs at this line:

"Trying to load: pxelinux.cfg/<uuid>"

Replacing "192.168.1.201::/gpxelinux.0" with "192.168.1.201::/pxelinux.0"
works -- in that the next server loads --, but then it seems to silently
fail/stop after downloading the initrd.img file (indeed, over http, which
was surprising to me that this works at all since I chainloaded /pxelinux.0
...).  Perhaps this failure after the download is a separate issue.

I'm sure the root here is that I don't understand exactly what gpxelinux.0
is doing, but again any tips appreciated.

Thanks,
Hans


More information about the Syslinux mailing list