[syslinux] EFI: ipxe + syslinux = Failed to read blocks: 0xC
Oscar Roozen
oscar.roozen at brightcomputing.com
Mon Aug 3 04:51:51 PDT 2015
> I can't help with the problems on real hardware but have come across the
> qemu problems before and maybe I can give some hints on that.
Thank you, your help is much appreciated!
>> The short story is that I never got further than syslinux proclaiming
>> "Failed to read blocks: 0xC" before even getting to the stage where it
>> tries to load ldlinux.e64. Searching for answers I found a thread on
>> the qemu-devel list
>
> This is happening if you are trying to boot syslinux.efi from iPXE that
> was not patched.
I was using commit 87981bb from the branch 'qemu' at git.kraxel.org/ipxe.
The last two log messages for this branch are:
87981bb [efi] make load file protocol optional
ca65a1f efi_snp: improve compliance with the EFI_SIMPLE_NETWORK_PROTOCOL
spec
These are the patches Michael mentioned in his post. Did I miss other
patches?
> If you go back one message in that thread you'll find a link to another
> thread explaining what's happening and what workarounds are available
> here: http://sourceforge.net/p/edk2/mailman/message/33735116/
Thanks for linking this thread. I'll read up on it. I think it is one of
the links that got hit by sourceforge's horrible downtime last month. I
remember hitting their "we're rebuilding our site" page quite often
while searching around...
> The easiest probably is to use virtio-net with the romfile= option to
> completely disable iPXE roms and use the OVMF built in driver. You can
> tell it's using that if you don't see the iPXE header just syslinux.efi
> booting.
I did not succeed in doing this, because I'm running qemu from libvirt.
There is a new '<rom file="some.rom"/> option, but it won't take an
empty filename. Can this be done from virsh somehow?
> Or you could try a
> patched iPXE rom or a recent version of qemu (maybe git or latest rc
> releases) that possibly have patched iPXE roms which may work better.
I did try a patched iPXE ROM. At least, I think I did, see above. The
iPXE ROM identified itself as 1.0.0+ (87981). I created it by running
'make bin-x86_64-efi/1af41000.efirom' and referenced the resulting file
with the '<rom file='path'/>' in the device section of the vm.xml.
More information about the Syslinux
mailing list