José María Mor Fabregat | 7 Dec 2011 11:34
Picon
Favicon

ipxe -> pxelinux.0: "No more network devices"

Hi,

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"

After various tests and reading iPXE forums I concluded that the
problem could be the new syslinux com32 system modules because with
older (<4) syslinux modules all runs ok, but I've curiosity about it
and because shows the message.

I boot iPXE with this menu:

    #!ipxe
   chain pxelinux.0

that loads this menu:

   DEFAULT main
   PROMPT 0
   TIMEOUT 1
   LABEL main
        kernel menu.c32
        append main.mnu

Once main.mnu loaded, this menu loads (in tests )a kernel and initrd
and the result is that all loads well but after loading, shows the
"No more network devices" and continue with normal booting:
(Continue reading)

Jeremy MAURO | 8 Dec 2011 10:17

Re: ipxe -> pxelinux.0: "No more network devices"

Hi,

I having exactly the same issue but without chainning menu.c32. But it 
doesn't seems to harmfull since my server still boots (FYI: the pxe 
client is a xen VMs)

Regards,
JM

On 12/07/11 11:34, José María Mor Fabregat wrote:
> Hi,
>
> 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"
>
> After various tests and reading iPXE forums I concluded that the
> problem could be the new syslinux com32 system modules because with
> older (<4) syslinux modules all runs ok, but I've curiosity about it
> and because shows the message.
>
> I boot iPXE with this menu:
>
>      #!ipxe
>     chain pxelinux.0
>
> that loads this menu:
>
(Continue reading)

Michael Brown | 8 Dec 2011 18:00
Picon
Favicon
Gravatar

Re: ipxe -> pxelinux.0: "No more network devices"

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 {
(Continue reading)

Michael Brown | 11 Dec 2011 03:34
Picon
Favicon
Gravatar

Re: ipxe -> pxelinux.0: "No more network devices"

On Thursday 08 Dec 2011 17:00:10 Michael Brown wrote:
> 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.)

This should be fixed in the latest iPXE tree:

  http://git.ipxe.org/ipxe.git/commitdiff/9a93db3

Michael

Gmane