GRUB menu loading failure via HTTP Boot on BlueField
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2-unsigned (Ubuntu) |
Fix Released
|
Undecided
|
Mate Kukri | ||
Focal |
New
|
Undecided
|
Mate Kukri | ||
Jammy |
In Progress
|
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.
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.
Related branches
- Julian Andres Klode: Pending requested
- Ubuntu Core Development Team: Pending requested
- Chengen Du: Pending requested
-
Diff: 60 lines (+38/-0)3 files modifieddebian/changelog (+6/-0)
debian/patches/efinet-http-message-field-size.patch (+31/-0)
debian/patches/series (+1/-0)
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 |
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.