[ipxe-devel] [gPXE] Problem using gPXE to load PXELINUX with HTTP server

Michael Brown mbrown at fensystems.co.uk
Tue Dec 10 01:46:59 UTC 2013

On 09/12/13 21:17, Allan Wu wrote:
> I am loading gPXE from USB using the ./bin/gpxe.usb.
> I tried with using the gPXE script Michael suggests, but gPXE reported
> "no specific image to load" at 'boot'. When I use 'boot vmlinuz', then
> there's the old errors of not finding RAMDISK and unspecified root. Does
> it mean I have the wrong kernel or initrd image? The 'vmlinuz' file is
> from the /boot folder, and the 'diskless_initrd.img' is made by dracut.

If you are still using gPXE, then the only answer I will give is to 
upgrade to iPXE first.  gPXE is effectively a three-year-old version of 
iPXE, and I am not prepared to spend time debugging old and obsolete code.

> I will try some of the PXELINUX version suggested by Gene, and I already
> switched to iPXE. Meanwhile, I still have one question which seems to be
> common to both gPXE and iPXE.
> Because I'm using static IP, I think due to our network setup, it takes
> the gateway some time to recognize the new IP every time it is set. The
> result is, when I use the script to setup static IP, the following
> fetching for image will have a connection timeout, because either the
> DNS or the gateway hasn't responded yet. So every time I have to Ctrl+B
> and manually type the image fetching command again after the connection
> timeout, and that will work. In iPXE, it seems to quit the moment the
> connection failure occurs and I don't have opportunities to go into
> command line. So my question is, is there a command or some way to do a
> sleep() to wait for the IP address to be ready and then start to fetch
> the image? Or maybe a way to set a number of retries for the fetching
> command?

It's unlikely that this is due to your use of a static IP.  You may be 
experiencing issues with the Ethernet spanning tree protocol (STP) 
causing the switch port to take a long time to start forwarding packets. 
  If you are using a Cisco switch, then you may wish to investigate its 
"portfast" feature.

You have several features within the iPXE scripting language to work 
around issues with ports which are slow to activate.  You can use the 
"sleep" command (http://ipxe.org/cmd/sleep) to introduce delays into the 
script execution.  You can also use the "goto" command to implement 
simple loops, such as indefinitely retrying an image fetch until it 
succeeds.  See http://ipxe.org/scripting for more information.


More information about the ipxe-devel mailing list