[syslinux] gpxelinux.0 under a QEMU GPXE virtual boot rom?

Kenneth Morse kdmorse at gmail.com
Fri Oct 7 13:01:43 PDT 2011


You're all back!  (yippie!).  Now I can ask the question that's been nagging
at me over the past month...

Is booting gpxelinux.0, under QEMU, which provides it's own GPXE capable
boot rom supposed to work?   Or, is it a redundant (the GPXE boot room
already provides the functionality of gpxelinux.0) and suicidally dumb thing
to do?  I've found some references to other people having similar (but not
identical) problems - but no real answer to "Is it supposed to work?".

I could see the answer going either way.  Either A), it should work, and I
have something wrong.  Or B) It's a dumb thing to try to do, stop trying to
do that....

Situation:

Large PXE infrastructure.  Lots of physical systems and vmware guests all
merrily booting via pxelinux.  The DHCP server points them all at
gpxelinux.0 which is fetched via TFTP, and everything after the menu is
presented is fetched via HTTP.

We started to have problems when we added KVM into the mix though.  Network
booting was slow, unreliable, and in some cases flat out refused to work.
Updating the KVM QEMU boot roms helped a bit.  But it quickly became
apparent that the source of the problem was gpxelinux running under an
already GPXE enabled boot rom.  Directly booting GPXE Rom -> pxelinux.0
works perfectly (complete with http:// support)

In our lab environments, this is trivial to work around.  We adjusted the
DHCP server to detect GPXE enabled boot roms, send pxelinux.0 to them, and
gpxelinux.0 to real hardware and VMWare.  However this presents a bit of a
problem on the deployment side, as our environment is run by dumb DHCP
servers that cannot make that distinction (a battle I've fought and lost).

We're actually using syslinux-4.04-pre7 at the moment.   At the time It was
necessary to go to the absolute most current version due to fix a problem
(which I don't even remember), we've not upgraded since.  I know at least
one response will be "upgrade to current code".  But before I do, I'd
somewhat like to know if this is supposed to work, or if I'm chasing a bad
idea....

Thanks,

-Ken



More information about the Syslinux mailing list