[arm64] EFI stub: ERROR: FIRMWARE BUG: efi_loaded_image_t::image_base has bogus value

Bug #1900774 reported by dann frazier
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)
Fix Released
Undecided
dann frazier
Xenial
Fix Released
Undecided
dann frazier
Bionic
Fix Released
Undecided
dann frazier
Focal
Fix Released
Undecided
dann frazier
Groovy
Fix Released
Undecided
dann frazier
Hirsute
Fix Released
Undecided
dann frazier

Bug Description

[Impact]
When booting a kernel >= 5.7 via GRUB on an arm64 server, the EFI stub falsely reports a firmware bug:

EFI stub: Booting Linux Kernel...
EFI stub: EFI_RNG_PROTOCOL unavailable, no randomness supplied
EFI stub: ERROR: FIRMWARE BUG: efi_loaded_image_t::image_base has bogus value
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x431f0a10]

[Test Case]
Boot the arm64 groovy kernel, or any other kernel >= 5.7.
Regression test on an EFI based x86 system (e.g. lxc --vm)

[Fix]
https://github.com/rhboot/grub2/commit/1d5ef08216edec4d31d0e10cfdb30b5ebfef7a45

[Where Problems Could Occur]
The fix is in GRUB's EFI loader, so problems would likely appear early in the boot of the kernel (during EFI stub processing).

Revision history for this message
dann frazier (dannf) wrote :

Here's the patch I tested (required some minor porting) w/ DEP-3 tags.

Revision history for this message
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:
http://iso.qa.ubuntu.com/qatracker/reports/bugs/1900774

tags: added: iso-testing
tags: added: rls-gg-incoming
tags: added: patch
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Yeap, I was pondering to ship that patch, but didn't, when i was uploading the "unbreak armhf". Because i was like, it might be unrelated.

This is mostly harmless, but yes we should fix it up.

tags: added: fr-880
tags: removed: rls-gg-incoming
dann frazier (dannf)
Changed in grub2 (Ubuntu Hirsute):
assignee: nobody → dann frazier (dannf)
status: New → In Progress
dann frazier (dannf)
description: updated
description: updated
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello dann, or anyone else affected,

Accepted grub2 into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/grub2/2.04-1ubuntu35.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in grub2 (Ubuntu Groovy):
status: New → Fix Committed
tags: added: verification-needed verification-needed-groovy
Changed in grub2 (Ubuntu Focal):
status: New → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello dann, or anyone else affected,

Accepted grub2 into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/grub2/2.04-1ubuntu26.7 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 2.04-1ubuntu36

---------------
grub2 (2.04-1ubuntu36) hirsute; urgency=medium

  * Avoid "EFI stub: FIRMWARE BUG" message when booting >= 5.7 kernels
    on arm64 by setting the image base address before jumping to the
    PE/COFF entry point LP: #1900774
  * Fix tftp timeouts when fetch large files. LP: #1900773

 -- dann frazier <email address hidden> Wed, 11 Nov 2020 07:17:49 -0700

Changed in grub2 (Ubuntu Hirsute):
status: In Progress → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello dann, or anyone else affected,

Accepted grub2 into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/grub2/2.02-2ubuntu8.20 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in grub2 (Ubuntu Bionic):
status: New → Fix Committed
tags: added: verification-needed-bionic
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello dann, or anyone else affected,

Accepted grub2 into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/grub2/2.02~beta2-36ubuntu3.29 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in grub2 (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-needed-xenial
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (grub2/2.04-1ubuntu26.7)

All autopkgtests for the newly accepted grub2 (2.04-1ubuntu26.7) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

ubuntu-image/1.10+20.04ubuntu1 (arm64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#grub2

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (grub2/2.04-1ubuntu35.1)

All autopkgtests for the newly accepted grub2 (2.04-1ubuntu35.1) for groovy have finished running.
The following regressions have been reported in tests triggered by the package:

grubzfs-testsuite/unknown (amd64)
ubuntu-image/unknown (amd64)
ubiquity/unknown (amd64)
zsys/unknown (amd64)
grml2usb/unknown (amd64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/groovy/update_excuses.html#grub2

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
dann frazier (dannf) wrote :

I've tested the update for each series in an x86 VM in both Secure Boot and non-Secure Boot modes and observed no regressions.

Revision history for this message
dann frazier (dannf) wrote :

= groovy verification =
error: no suitable video mode found.
EFI stub: Booting Linux Kernel...
EFI stub: EFI_RNG_PROTOCOL unavailable, no randomness supplied
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x431f0a10]
[ 0.000000] Linux version 5.8.0-30-generic (buildd@bos02-arm64-007) (gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0, GNU ld (GNU Binutils for Ubuntu) 2.35.1) #32-Ubuntu SMP Mon Nov 9 21:08:25 UTC 2020 (Ubuntu 5.8.0-30.32-generic 5.8.17)

Revision history for this message
dann frazier (dannf) wrote :

= focal verification =
error: no suitable video mode found.
EFI stub: Booting Linux Kernel...
EFI stub: EFI_RNG_PROTOCOL unavailable, no randomness supplied
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x431f0a10]
[ 0.000000] Linux version 5.8.0-29-generic-64k (buildd@bos02-arm64-007) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #31~20.04.1-Ubuntu SMP Fri Nov 6 20:37:08 UTC 2020 (Ubuntu 5.8.0-29.31~20.04.1-generic-64k 5.8.14)

tags: added: verification-done-groovy
removed: verification-needed-groovy
Revision history for this message
dann frazier (dannf) wrote :

= bionic verification =
error: no suitable video mode found.
EFI stub: Booting Linux Kernel...
EFI stub: EFI_RNG_PROTOCOL unavailable, KASLR will be disabled
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x431f0a10]
[ 0.000000] Linux version 5.10.0-051000rc4-generic (kernel@kathleen) (aarch64-linux-gnu-gcc (Ubuntu 10.2.0-8ubuntu1) 10.2.0, GNU ld (GNU Binutils for Ubuntu) 2.35.1) #202011152030 SMP Mon Nov 16 01:37:12 UTC 2020

tags: added: verification-done-focal
removed: verification-needed-focal
tags: added: verification-done-bionic
removed: verification-needed-bionic
Revision history for this message
dann frazier (dannf) wrote :

= xenial verification =
error: no suitable video mode found.
EFI stub: Booting Linux Kernel...
EFI stub: EFI_RNG_PROTOCOL unavailable, KASLR will be disabled
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x431f0a10]
[ 0.000000] Linux version 5.10.0-051000rc4-generic (kernel@kathleen) (aarch64-linux-gnu-gcc (Ubuntu 10.2.0-8ubuntu1) 10.2.0, GNU ld (GNU Binutils for Ubuntu) 2.35.1) #202011152030 SMP Mon Nov 16 01:37:12 UTC 2020

tags: added: verification-done verification-done-xenial
removed: verification-needed verification-needed-xenial
dann frazier (dannf)
Changed in grub2 (Ubuntu Groovy):
assignee: nobody → dann frazier (dannf)
Changed in grub2 (Ubuntu Bionic):
assignee: nobody → dann frazier (dannf)
Changed in grub2 (Ubuntu Focal):
assignee: nobody → dann frazier (dannf)
Changed in grub2 (Ubuntu Xenial):
assignee: nobody → dann frazier (dannf)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 2.04-1ubuntu35.1

---------------
grub2 (2.04-1ubuntu35.1) groovy; urgency=medium

  * Avoid "EFI stub: FIRMWARE BUG" message when booting >= 5.7 kernels
    on arm64 by setting the image base address before jumping to the
    PE/COFF entry point LP: #1900774
  * Fix tftp timeouts when fetching large files. LP: #1900773

 -- dann frazier <email address hidden> Thu, 12 Nov 2020 16:08:57 -0700

Changed in grub2 (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for grub2 has completed successfully and the package is now being 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.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 2.04-1ubuntu26.7

---------------
grub2 (2.04-1ubuntu26.7) focal; urgency=medium

  * Avoid "EFI stub: FIRMWARE BUG" message when booting >= 5.7 kernels
    on arm64 by setting the image base address before jumping to the
    PE/COFF entry point LP: #1900774
  * Fix tftp timeouts when fetching large files. LP: #1900773

 -- dann frazier <email address hidden> Thu, 12 Nov 2020 16:15:13 -0700

Changed in grub2 (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 2.02-2ubuntu8.20

---------------
grub2 (2.02-2ubuntu8.20) bionic; urgency=medium

  * Avoid "EFI stub: FIRMWARE BUG" message when booting >= 5.7 kernels
    on arm64 by setting the image base address before jumping to the
    PE/COFF entry point LP: #1900774
  * Fix tftp timeouts when fetching large files. LP: #1900773

 -- dann frazier <email address hidden> Fri, 13 Nov 2020 17:40:19 -0700

Changed in grub2 (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 2.02~beta2-36ubuntu3.29

---------------
grub2 (2.02~beta2-36ubuntu3.29) xenial; urgency=medium

  * Avoid "EFI stub: FIRMWARE BUG" message when booting >= 5.7 kernels
    on arm64 by setting the image base address before jumping to the
    PE/COFF entry point LP: #1900774
  * Fix tftp timeouts when fetching large files. LP: #1900773

 -- dann frazier <email address hidden> Fri, 13 Nov 2020 18:03:44 -0700

Changed in grub2 (Ubuntu Xenial):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.