Comment 0 for bug 2043084

Revision history for this message
Chengen Du (chengendu) wrote :

[Impact]
The GRUB menu fails to load via HTTP boot but functions properly with PXE boot, displaying the error message:
error: Fail to send a request! status=0x8000000000000002.

The error code 0x8000000000000002 corresponds to GRUB_EFI_INVALID_PARAMETER.
Notably, this issue is unreproducible in QEMU but surfaces on BlueField.

[Fix]
Bisecting Oracle's patches, we confirmed with the customer that the issue was resolved with the following commit:
 https://github.com/rhboot/grub2/commit/205b7b44bb2a7911f1e8c1ce22d66c111a4b429e

[Test Plan]
We've requested the customer to test the patch on BlueField.
Our test plan will focus on checking for any regressions after applying this patch.

1. Run a DHCP server on the host and configure /etc/dhcp/dhcpd.conf with the provided content.
...
host http_boot {
  option host-name "http_boot";
  hardware ethernet XX:XX:XX:XX:XX:XX;
  fixed-address 192.168.122.10;
  class "HTTPClient" {
    match if substring (option vendor-class-identifier, 0, 10) = "HTTPClient";
    option vendor-class-identifier "HTTPClient";
    filename <-efi's path->;
  }
}
...
2. Start a UEFI VM and use "virsh console" for access.
3. Execute "systemctl reboot --firmware-setup" in the console to enter the UEFI interface.
4. Test the successful loading of the GRUB menu by selecting "Boot Manager" -> "UEFI HTTPv4."

[Where problems could occur]
The patch only updates a member variable type to comply with UEFI 2.9, preserving the original behavior.
In QEMU, using EFI v2.70 from EDK II, we can still access the GRUB menu.