[ipxe-devel] ipxe -> pxelinux.0: "No more network devices"
Michael Brown
mbrown at fensystems.co.uk
Thu Dec 8 17:00:10 UTC 2011
On Wednesday 07 Dec 2011 10:34:46 José María Mor Fabregat wrote:
> I'm using gpxe/iPXE for a long time and recently I tested the new
> updated versions to serve some menus using syslinux. I forgot some of
> iPXE characteristics, sure, because after loading the pxechain.0 all
> things runs well but I can see a message like: "No more network
> devices"
As far as I can tell, most of the iPXE+pxelinux weirdness that people are
reporting seems to relate to the use of the PXE exit hook. The general case
seems to be:
When loading via undionly.kpxe->pxelinux.0, the user selects something to
boot. This something (whether Linux kernel, memdisk, chain.c32, etc) appears
to load correctly. At the point that it should start executing, control is
instead returned to iPXE. The user may see
No more network devices
followed by the OS loading as expected, or the user may be returned to the
iPXE shell. (Typing "exit" in the shell at this point would actually cause
the OS to load, but I doubt anyone's tried this.)
The problem seems to be that pxelinux detects support for PXENV_FILE_EXIT_HOOK
and tries to use this instead of shutting down iPXE in the normal way. My
best guess is that pxelinux contains code that does something like:
if ( exit_hook_supported ) {
set_exit_hook();
exit_pxelinux(); // return to iPXE
} else {
shut_down_pxe_stack();
boot();
}
I'm unclear on what pxelinux is expecting to happen. Exiting back to iPXE
will simply cause iPXE to continue: if the user started pxelinux.0 from a
shell, then the user will be returned to the shell; if pxelinux.0 was started
from a script, then the script will continue executing; if pxelinux.0 was
loaded as part of the usual autoboot() sequence, then this sequence will
continue with any remaining network devices.
The attached patch eliminates the symptoms of the problem, by reporting that
PXENV_FILE_EXIT_HOOK is not supported. pxelinux then shuts down iPXE in the
normal way, and everything works as expected.
Shao, hpa: any thoughts?
Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipxe-disable-exit-hook-hack.patch
Type: text/x-patch
Size: 760 bytes
Desc: not available
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20111208/bab06966/attachment.bin>
More information about the ipxe-devel
mailing list