[ipxe-devel] Localboot from iPXE

Andrew Bobulsky rulerof at gmail.com
Tue Jun 19 14:48:38 UTC 2012

On Tue, Jun 19, 2012 at 9:40 AM, <hgvsms at web.de> wrote:
> Gesendet: Dienstag, 19. Juni 2012 um 15:30 Uhr
> Von: "Michael Brown" <mbrown at fensystems.co.uk>
> An: ipxe-devel at lists.ipxe.org
> Cc: hgvsms at web.de
> Betreff: Re: [ipxe-devel] Localboot from iPXE
> On Tuesday 19 Jun 2012 08:33:52 hgvsms at web.de wrote: > So what I found out is that the localboot only fails on some systems. I > have some Fujitsu Siemens Desktops here and I can do the localboot with > either sanboot or exit. But this does not work for VirtualBox Guests and > also not on our Lenovo X220. > > The VirtualBox gives INT 18: Boot failed while the X220 only shows a > blinking cursor and nothing else happens. > > What can I do? Have you tried both "exit" and "sanboot --drive 0x80"? The underlying mechanisms are very different, so I would be surprised if you got the same error message from both commands. Michael
> Yes, I tried both the sanboot and the exit and the result was the same in both cases.

Hello folks, thought I'd add something to the discussion in case it
might help, as this thread has had me curious for a couple of days :)

Back in May, there was a thread on the Syslinux mailing list (relavant
info here: http://www.syslinux.org/archives/2012-May/017587.html )
regarding someone who had a problem with the "localboot" directive
resulting in looping PXE boot behavior when using PXELINUX, which,
much as iPXE does, frequently involves a lot of workarounds for the
insanely-large number of BIOSes that just don't quite behave the way
they should.  My curiosity was piqued by the mention that the COM32
module, chain.c32, was /very/ successful at chaining the disk MBR from
PXELINUX when the BIOS would refuse to do so properly.

If you're working with a particularly stubborn [buggy] BIOS, or if
you're just looking to enhance the likelihood that booting from a
local disk will succeed after an NBP such as iPXE gets its work done,
you could try either adding COMBOOT support into iPXE via
config/general.h and then "chain chain.c32 hd0", or chainloading
PXELINUX from iPXE, and using it to load chain.c32.  If you're using
iPXE's native COMBOOT support, you'll likely want to use the chain.c32
module from the SYSLINUX 3.XX line.  The last time I heard about it,
iPXE did not support the COM32R format that SYSLINUX 4.XX uses, and as
COMBOOT support was pulled from the default iPXE build, I'd wager that
such is probably a very low priority, if it is one at all :P

For what it's worth, my advice does assume that you're chainloading
iPXE from the built-in PXE ROM, in which case adding COMBOOT support
shouldn't be an issue regarding build size. I haven't tested this
myself yet (haven't had a reason to since the recommendation from that
thread on the Syslinux list), but in theory it should work :-P

Best Regards,
Andrew Bobulsky

More information about the ipxe-devel mailing list