Ubuntu installation/update-grub fail on specific BIOS
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| grub2 (Ubuntu) |
Critical
|
Mathieu Trudel-Lapierre | ||
| Trusty |
Medium
|
Mathieu Trudel-Lapierre | ||
| grub2-signed (Ubuntu) |
Undecided
|
Unassigned | ||
| Trusty |
Undecided
|
Adam Conrad |
Bug Description
[Impact]
Users on newer UEFI firmware that follows spec 2.4b. (such an any new-ish Lenovo laptops, apparently, perhaps new Dell systems as well, etc.)
[Test case]
With the patch installs may fail to complete, update-grub may fail to run.
1) sudo update-grub
Notice whether the command shows an arithmetic error running /etc/grub.
[Regression potential]
Limited; this fixes a value formatting error which caused any hex to be matched as string rather than an hex value in grub config scripts -- it will still match correctly on older BIOS versions.
---
Some new Bios would like to support the new feature,capsule update, on UEFI spec. 2.4b.
So the UEFI variable OsIndicationsSu
$ sudo update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
/etc/grub.
~
Ivan Hu (ivan.hu) wrote : | #1 |
Ivan Hu (ivan.hu) wrote : | #2 |
And I've also tested it,
modified the script on 30_uefi-firmware
[ "$(( $(printf %x \'"$(cat $OsIndications | cut -b1)") & 1 ))" = 1 ]; then
to
[ "$(( $(printf %d \'"$(cat $OsIndications | cut -b1)") & 1 ))" = 1 ]; then
could fix this issue.
affects: | grub (Ubuntu) → grub2 (Ubuntu) |
Changed in grub2 (Ubuntu): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in grub2 (Ubuntu): | |
importance: | High → Critical |
assignee: | nobody → Mathieu Trudel-Lapierre (mathieu-tl) |
Changed in grub2 (Ubuntu): | |
status: | Triaged → In Progress |
This is fixed in Debian git now; we'll get the fix with the next upload. Setting to Fix Committed.
Changed in grub2 (Ubuntu): | |
status: | In Progress → Fix Committed |
Launchpad Janitor (janitor) wrote : | #4 |
This bug was fixed in the package grub2 - 2.02~beta2-
---------------
grub2 (2.02~beta2-
* debian/
variable OsIndicationsSu
compared as hex values in 30_uefi-
* Update quick boot logic to handle abstractions for which there is no
write support. (LP: #1274320)
-- Mathieu Trudel-Lapierre <email address hidden> Mon, 06 Jul 2015 16:32:11 -0400
Changed in grub2 (Ubuntu): | |
status: | Fix Committed → Fix Released |
Chad Page (chad-page-d) wrote : | #5 |
Is it possible to officially backport this change to Trusty?
Yes, if you can help validating the fix once it's in trusty-proposed, I see no issue in doing the fix in SRU.
Changed in grub2 (Ubuntu Trusty): | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Mathieu Trudel-Lapierre (cyphermox) |
description: | updated |
Hello Ivan, or anyone else affected,
Accepted grub2 into trusty-proposed. The package will build now and be available at https:/
Please help us by testing this new package. See https:/
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-
Further information regarding the verification process can be found at https:/
Changed in grub2 (Ubuntu Trusty): | |
status: | In Progress → Fix Committed |
tags: | added: verification-needed |
Changed in grub2-signed (Ubuntu): | |
status: | New → Fix Released |
Changed in grub2-signed (Ubuntu Trusty): | |
assignee: | nobody → Adam Conrad (adconrad) |
Adam Conrad (adconrad) wrote : | #8 |
Hello Ivan, or anyone else affected,
Accepted grub2-signed into trusty-proposed. The package will build now and be available at https:/
Please help us by testing this new package. See https:/
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-
Further information regarding the verification process can be found at https:/
Changed in grub2-signed (Ubuntu Trusty): | |
status: | New → Fix Committed |
Chad, have you had a chance to try the updated packages from trusty-proposed? If they are reviewed / tested now and verified to work, should there be a respin we may be able to include them in the 16.04.1 media.
Adam Conrad (adconrad) wrote : | #10 |
I've tested this grub for regressions, and it's happy here. As for the printf itself, while I don't have the right hardware to test on, it's identical to the printf in xenial and yakkety, so I see no reason to verify that specifically.
tags: |
added: verification-done removed: verification-needed |
Launchpad Janitor (janitor) wrote : | #11 |
This bug was fixed in the package grub2 - 2.02~beta2-
---------------
grub2 (2.02~beta2-
* debian/
variable OsIndicationsSu
compared as hex values in 30_uefi-
-- Mathieu Trudel-Lapierre <email address hidden> Fri, 29 Jul 2016 14:50:13 -0400
Changed in grub2 (Ubuntu Trusty): | |
status: | Fix Committed → Fix Released |
Adam Conrad (adconrad) wrote : Update Released | #12 |
The verification of the Stable Release Update for grub2 has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.
Launchpad Janitor (janitor) wrote : | #13 |
This bug was fixed in the package grub2-signed - 1.34.14
---------------
grub2-signed (1.34.14) trusty; urgency=medium
* Rebuild against grub-efi-amd64 2.02~beta2-
-- Adam Conrad <email address hidden> Tue, 02 Aug 2016 00:57:04 -0600
Changed in grub2-signed (Ubuntu Trusty): | |
status: | Fix Committed → Fix Released |
I build a bios from EDKII that set the OsIndicationsSu pported to 0x1f for QEMU.
This could be used to reproduced this issue on QEMU.