[syslinux] pxechain.com and gpxelinux.0 odd behavior
gene.cumm at gmail.com
Wed Aug 7 16:26:11 PDT 2013
On Wed, Aug 7, 2013 at 3:58 PM, Hans Lellelid <hans at velum.net> wrote:
> 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:
> 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.
After my experiences with writing/testing pxechn.c32, I'm not
surprised that this happens. What version(s) have you used?
One of the goals of lpxelinux.0 is to replace gpxelinux.0 for HTTP/FTP
fetch capability. This is available in versions 5.10+ and 6.00+ (BIOS
only in 6.00+) however it still needs more testing/debugging as there
are a few known issues (listed in bugzilla.syslinux.org ).
More information about the Syslinux