[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