[ipxe-devel] EFI_PXE_BASE_CODE_PROTOCOL

Michael Brown mcb30 at ipxe.org
Mon Sep 7 14:02:18 UTC 2015


On 07/09/15 11:14, Gerd Hoffmann wrote:
> ipxe just got a EFI_PXE_BASE_CODE_PROTOCOL implementation.  I've updated
> ipxe and commented the EFI_DOWNGRADE_UX define in the qemu config.  If
> you want to test this you can fetch the qemu branch with the updated
> roms here:
>
> https://www.kraxel.org/cgit/qemu/log/?h=rebase/roms-next
>
> Ran a quick test.  The good news are that shim.efi can now fetch files,
> it happily chainloads grub.efi.  The bad news are that grub.efi has
> trouble loading files.  It doesn't present the boot menu but greets me
> with a prompt, which usually happens if grub fails to load the config
> file.  So things have improved, but there still is something broken ...

Thank you for picking this up!

My local grub.efi (built from source) does nothing with 
EFI_PXE_BASE_CODE_PROTOCOL except retrieve the cached DHCP packets.  I 
confirmed that it was doing this by typing "net_ls_addr" within the GRUB 
shell, before instructing GRUB to attempt DHCP.  With iPXE's 
EFI_PXE_BASE_CODE_PROTOCOL enabled, grub.efi did show the correct IP 
address even before attempting DHCP; without iPXE's 
EFI_PXE_BASE_CODE_PROTOCOL, it did not.

I also verified that grub.efi was able to use the exposed 
EFI_SIMPLE_NETWORK_PROTOCOL NIC by typing "net_bootp" within the GRUB 
shell.  This was able to successfully obtain a new DHCP lease.

I find GRUB2 difficult to work with since it seems not to support manual 
creation of configuration files.  Do you have a known-working grub.efi 
configuration (DHCP options, configuration files, etc) that you could 
send me so I can reproduce the problem?

Thanks,

Michael



More information about the ipxe-devel mailing list