Meanwhile I've found this thread: http://sourceforge.net/p/edk2/mailman/message/33236100/
which shows this is probably not a bug but an iPXE "feature". The efi-e1000.rom attached to the last message in that thread seems to work better and allows syslinux to get further. Regards, BALATON Zoltan On Mon, 6 Apr 2015, BALATON Zoltan wrote: > Hello, > > I'm trying to find out why pxe boot with syslinux is failing on QEMU with > OVMF. > The problem is already described here in detail: > > http://www.syslinux.org/archives/2014-November/022804.html > > Since it is reported to work on real hardware (presumably with a different > UEFI > implementation) I suspect a bug in OVMF. I've tried to debug it but could not > get very far. Syslinux starts with this code (the whole function can be seen > at > http://git.kernel.org/cgit/boot/syslinux/syslinux.git/tree/efi/main.c#n1252): > > status = uefi_call_wrapper(BS->HandleProtocol, 3, image, > &LoadedImageProtocol, (void **)&info); > if (status != EFI_SUCCESS) { > Print(L"Failed to lookup LoadedImageProtocol\n"); > goto out; > } > > status = uefi_call_wrapper(BS->HandleProtocol, 3, info->DeviceHandle, > &PxeBaseCodeProtocol, (void **)&pxe); > if (status != EFI_SUCCESS) { > /* > * Use device handle to set up the volume root to > * proceed with ADV init. > */ > if (EFI_ERROR(efi_set_volroot(info->DeviceHandle))) { > Print(L"Failed to locate root device to prep for "); > Print(L"file operations & ADV initialization\n"); > goto out; > } > > efi_derivative(SYSLINUX_FS_SYSLINUX); > ops[0] = &vfat_fs_ops; > } else { > efi_derivative(SYSLINUX_FS_PXELINUX); > ops[0] = &pxe_fs_ops; > } > > but it seems to fail to get the PxeBaseCode and takes the wrong path and > trying > to read from a vfat volume instead of pxe hence the error message about > failing > read blocks. If I force it to always use pxe it will fail at > http://git.kernel.org/cgit/boot/syslinux/syslinux.git/tree/efi/pxe.c#n51 > when trying to do: > > status = LibLocateHandle(ByProtocol, &PxeBaseCodeProtocol, > NULL, &nr_handles, &handles); > > Does the above make sense to anyone with better understanding of edk2/Ovmf and > could hint at why it fails? Any insight is greatly appreciated. > > Thank you, > BALATON Zoltan ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel