[syslinux] iPXE chain to lpxelinux.0 6.03 inconsistencies and failures
Alexander Perlis
aperlis at math.lsu.edu
Fri Nov 14 16:59:21 PST 2014
On this list in early July 2014 I reported that on certain hardware one
cannot chain from ipxe to lpxelinux.0 . My report at the time was about
6.03-pre17. I've repeated the tests with the release version of 6.03 and
here is an updated report with more details.
I boot to a USB stick with iPXE, which then is told to "dhcp" and then
"chain http://xxx.xxx.xxx.xxx/pxe.0". That loads a version of
lpxelinux.0 6.03 that is configured (via pxelinux-options) with an
appropriate next-server, path-prefix, and config-file.
This all works great on a lot of different machines.
But specifically on the Dell Optiplex GX620 and Optiplex 645, which have
built-in Broadcom ethernet (the GX620 has 14e4:1677 [1028:01ad], and the
645 has 14e4:167a [1028:01da]), there's a problem: first lpxelinux.0 is
correctly transferred, then control is indeed handed to lpxelinux.0
because the "PXELINUX 6.03 lwIP 2014-10-06" banner indeed appears, but
then the computer appears to be frozen, although it eventually says
"Failed to load ldlinux.c32". (At the server end there were no requests
to transfer anything.)
This can be further isolated to the built-in Broadcom ethernet (as
opposed to something else on the GX620 or 645) as follows: if on that
same hardware I insert a Linksys PCI card, and move the network cable to
that iPXE will DHCP & chain via that card, then there is no problem and
I end up at the graphical vesamenu.
Now my question: where more specifically is the bug? What can I do to
help a developer isolate this?
For example, there could be a bug in the iPXE driver for the Broadcom
ethernet, a bug that doesn't affect iPXE's ability to load lpxelinux.0,
but then *does* affect lpxelinux.0's ability to ask iPXE to load the
next component. Or there could be a bug in lpxelinux.0, such as memory
management or stack management, which is simply being triggered by say
iPXE's Broadcom driver being say a different size than perhaps that of
most other drivers. Or who knows. (In case it helps: Back in July, Gene
posted that the problem may be related to commit 0c1dff8d.)
I'm happy to do testing, run a custom debug build and report output, or
whatever might help. Just need some pointers as to what to do. Any iPXE
or lpxelinux.0 developer is welcome to contact me.
Alex
More information about the Syslinux
mailing list