[ipxe-devel] Problem chainloading iPXE from inside iPXE

Mike Sollanych msollany at sfu.ca
Mon Jun 6 22:10:06 BST 2011


Hello folks, thanks for all your hard work on iPXE. 

I've got an interesting issue here when trying to load iPXE from iPXE. 
The basic network setup / boot order is as follows: 
Network card's own PXE -> iPXE -> PXELINUX running vesamenu.c32 

In that menu, amongst many other options, I've been working on integration of FOG, the open-source Ghost equivalent. 
FOG is slightly stupid in that it relies on a lot of options being passed at boot time in order to image a machine. These options normally come from FOG's own PXELINUX setup, wherein an active task configured on the FOG server creates a MAC-address specific PXELINUX.CFG file that the machine to image will boot instead of the normal FOG menu. 

I have written a script that translates the inside of that FOG MAC-address specific file into an iPXE script that accomplishes the same task. To use this, I run another copy of iPXE with the path to that script provided as a parameter. 

This is called from the above vesamenu.c32 as a command like: 
KERNEL ipxe.lkrn dhcp && chain http://our-server/fog-ipxe.php?mac=${mac} 

The other FOG tasks, like booting to register a machine, etc., don't rely on any MAC-address specific configuration, so it was sufficient to just copy the config lines from FOG's PXELINUX.CFG and stuff them into the menu. Those use standard kernel / initrd lines. 

**This seems to work really well on most machines**, but some don't seem to like it at all. 

In particular, I presently have a Dell D830 laptop that will boot to the initial menu no problem, will boot the FOG direct-into-linux (i.e. host registration lines) no problem, but if I try the ipxe.lkrn image I cannot get it to work. It fails out with a "No more network devices" message. 

Booting ipxe.lkrn with the parameter 'shell', or hitting Ctrl-B does let me get into the iPXE shell, but running 'dhcp' does nothing and returns the prompt quickly without trying the DHCP request at all. 

It's like as though on some machines the PXE stack isn't sticking around and so the second copy of iPXE isn't able to find any network cards? Not sure, though, as that's getting out of my depth. 

Your help is appreciated. 

Mike Sollanych - msollany at sfu.ca - 778.782.6996 
IT Services RCG - Math, Stats, CECM 
Simon Fraser University 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20110606/5f9c520f/attachment.html>


More information about the ipxe-devel mailing list