GRUB menu loading failure via HTTP Boot on BlueField
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2-signed (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Committed
|
Undecided
|
Unassigned | ||
Jammy |
Fix Committed
|
Undecided
|
Unassigned | ||
Mantic |
Invalid
|
Undecided
|
Unassigned | ||
Noble |
Fix Released
|
Undecided
|
Unassigned | ||
grub2-unsigned (Ubuntu) |
Fix Released
|
Undecided
|
Mate Kukri | ||
Focal |
Fix Committed
|
Undecided
|
Mate Kukri | ||
Jammy |
Fix Committed
|
Undecided
|
Mate Kukri | ||
Mantic |
Invalid
|
Undecided
|
Mate Kukri | ||
Noble |
Fix Released
|
Undecided
|
Mate Kukri |
Bug Description
[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=
The error code 0x8000000000000002 corresponds to GRUB_EFI_
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:/
[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 and will include testing on machines in the Canonical hyperscale lab.
1. Run a DHCP server on the host and configure /etc/dhcp/
...
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-
option vendor-
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.
Changed in grub2 (Ubuntu): | |
assignee: | nobody → Chengen Du (chengendu) |
Changed in grub2-unsigned (Ubuntu Focal): | |
assignee: | nobody → Mate Kukri (mkukri) |
Changed in grub2-unsigned (Ubuntu Mantic): | |
assignee: | nobody → Mate Kukri (mkukri) |
Changed in grub2-unsigned (Ubuntu Jammy): | |
status: | Incomplete → In Progress |
description: | updated |
Reassigning to boot engineering. BlueField seems to be arm64? I reassigned this to grub2-unsigned accordingly.
This is not something you should be touching yourselves, really.