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

Gene Cumm 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:
> <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.

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 ).

-- 
-Gene


More information about the Syslinux mailing list