GRUB needs to support 64-bit efi linear frame buffer address

Bug #1785033 reported by Ivan Hu
20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
High
Unassigned
OEM Priority Project
Fix Released
Critical
Unassigned
grub2 (Ubuntu)
Fix Released
Undecided
Unassigned
Trusty
Fix Released
Undecided
Unassigned
Xenial
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned
Cosmic
Fix Released
Undecided
Unassigned
grub2-signed (Ubuntu)
Fix Released
Undecided
Unassigned
Trusty
Fix Released
Undecided
Unassigned
Xenial
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned
Cosmic
Fix Released
Undecided
Unassigned

Bug Description

[Rationale]
More firmwares support above 4G mmio configureation and the EFI Graphics Output Protocol can return a 64-bit linear frame buffer address have been implemented in some firmware/BIOS. Grub2 currently only pass 32-bit framebuffer base to kernel. The Linux kernel has already added support to handle 64-bit linear framebuffer address in the efifb driver now. So GRUB2 should support 64-bit EFI linear frame buffer address.

[Impact]
Some machines block booting with firmware/bios implemented 64-bit EFI linear frame buffer address,due to Grub passing incorrect(only 32-bit) EFI linear frame buffer.

[Test cases]

Need Bios/Firmware support,
1) Make sure the machine with the Bios implemented 64-bit EFI linear frame buffer address. some machine need to enable above 4G mmio on bios setup menu.
2) Boot up.

[Solution]
A patch has been committed and accepted by maintainer
http://git.savannah.gnu.org/cgit/grub.git/commit/?id=886edba8770ccbc3def0af2a7d6b346d00d0af2f

[Regression Potential]
Minimal, it's unlikely completing the whole framebuffer address will affect those which hasn't used above 32-bits framebuffer address.

Revision history for this message
Ivan Hu (ivan.hu) wrote :

Attach the fix patch which has been accepted and committed.

Revision history for this message
Ivan Hu (ivan.hu) wrote :

The patch on comment#1 have been tested can fix the block booting issue on some Dell machines.

summary: - GRUB need to support 64-bit efi linear frame buffer address
+ GRUB needs to support 64-bit efi linear frame buffer address
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "0001-i386-linux-Add-support-for-ext_lfb_base.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Ivan Hu (ivan.hu)
description: updated
description: updated
Ivan Hu (ivan.hu)
description: updated
tags: added: originate-from-1758231 somerville
Changed in hwe-next:
status: New → In Progress
importance: Undecided → High
Changed in oem-priority:
importance: Undecided → Critical
status: New → Triaged
Revision history for this message
Ivan Hu (ivan.hu) wrote :

Attached the debdiff on xenial

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

trusty/xenial/bionic uploaded

Revision history for this message
Steve Langasek (vorlon) wrote : Proposed package upload rejected

An upload of grub2 to bionic-proposed has been rejected from the upload queue for the following reason: "as discussed on IRC we aren't ready to flip the switch yet on kernel sig enforcement".

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

This bug was fixed in the package grub2-signed - 1.104

---------------
grub2-signed (1.104) cosmic; urgency=medium

  * Rebuild against grub2 2.02+dfsg1-5ubuntu2. (LP: #1785033)

 -- Mathieu Trudel-Lapierre <email address hidden> Wed, 05 Sep 2018 14:32:39 -0400

Changed in grub2-signed (Ubuntu Cosmic):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 2.02+dfsg1-5ubuntu2

---------------
grub2 (2.02+dfsg1-5ubuntu2) cosmic; urgency=medium

  * debian/patches/add_ext_lfb_base_support.patch: i386/linux: Add support for
    ext_lfb_base. (LP: #1785033)

 -- Mathieu Trudel-Lapierre <email address hidden> Wed, 05 Sep 2018 14:29:04 -0400

Changed in grub2 (Ubuntu Cosmic):
status: New → Fix Released
cktenn (cktenn)
tags: added: beaver-breckenridge-mlk-cfl-p
cktenn (cktenn)
tags: removed: beaver-breckenridge-mlk-cfl-p
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Ivan, 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.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 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 verification-needed-bionic
Changed in grub2-signed (Ubuntu Bionic):
status: New → Fix Committed
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Ivan, or anyone else affected,

Accepted grub2-signed into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/grub2-signed/1.93.8 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 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.

Revision history for this message
Ivan Hu (ivan.hu) wrote :

Test with Dell's machine on Bionic with the grub2 bionic-proposed,
got the correct 64-bit efi linear frame buffer address.

[ 0.965079] efifb: probing for efifb
[ 0.965086] efifb: framebuffer at 0x4000000000, using 8100k, total 8100k
[ 0.965087] efifb: mode is 1920x1080x32, linelength=7680, pages=1
[ 0.965088] efifb: scrolling: redraw
[ 0.965089] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0

tags: added: verification-done-bionic
removed: verification-needed-bionic
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 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.

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

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

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

  * debian/patches/0001-i386-linux-Add-support-for-ext_lfb_base.patch:
    Add support for ext_lfb_base. (LP: #1785033)

 -- Ivan Hu <email address hidden> Thu, 11 Oct 2018 08:39:26 -0400

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-signed - 1.93.8

---------------
grub2-signed (1.93.8) bionic; urgency=medium

  * Rebuild against grub2 2.02-2ubuntu8.7 (LP: #1785033)

 -- Mathieu Trudel-Lapierre <email address hidden> Thu, 11 Oct 2018 08:46:20 -0400

Changed in grub2-signed (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Ivan, 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.19 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 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
Changed in grub2-signed (Ubuntu Xenial):
status: New → Fix Committed
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Ivan, or anyone else affected,

Accepted grub2-signed into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/grub2-signed/1.66.19 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 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.

Revision history for this message
Ivan Hu (ivan.hu) wrote :

Test with Dell's machine on Xenial with the grub2 xenail-proposed, and update grub-efi-amd64
and grub-efi-amd64-signed packages
got the correct 64-bit efi linear frame buffer address

[ 0.923498] efifb: probing for efifb
[ 0.923506] efifb: framebuffer at 0x4000000000, using 8100k, total 8100k
[ 0.923507] efifb: mode is 1920x1080x32, linelength=7680, pages=1
[ 0.923507] efifb: scrolling: redraw
[ 0.923508] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0

tags: added: verification-done-xenial
removed: verification-needed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

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

  * debian/patches/0001-i386-linux-Add-support-for-ext_lfb_base.patch:
    Add support for ext_lfb_base. (LP: #1785033)

 -- Ivan Hu <email address hidden> Wed, 05 Sep 2018 14:17:32 +0800

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

This bug was fixed in the package grub2-signed - 1.66.19

---------------
grub2-signed (1.66.19) xenial; urgency=medium

  * Rebuild against grub2 2.02~beta2-36ubuntu3.19. (LP: #1785033))

 -- Timo Aaltonen <email address hidden> Thu, 06 Sep 2018 14:02:19 +0300

Changed in grub2-signed (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Ivan, 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.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 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: Fix Released → Fix Committed
tags: added: verification-needed-xenial
removed: verification-done-xenial
Changed in grub2 (Ubuntu Xenial):
status: Fix Committed → Fix Released
Changed in grub2-signed (Ubuntu Xenial):
status: Fix Released → Fix Committed
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Ivan, or anyone else affected,

Accepted grub2-signed into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/grub2-signed/1.66.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 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.

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

This was already landed in a prior SRU. Closing as Fix Released.

tags: added: verification-done-xenial
removed: verification-needed verification-needed-xenial
Changed in grub2-signed (Ubuntu Xenial):
status: Fix Committed → Fix Released
Changed in oem-priority:
status: Triaged → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Ivan, or anyone else affected,

Accepted grub2 into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/grub2/2.02~beta2-9ubuntu1.16 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 and change the tag from verification-needed-trusty to verification-done-trusty. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-trusty. 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 Trusty):
status: New → Fix Committed
tags: added: verification-needed verification-needed-trusty
Changed in grub2-signed (Ubuntu Trusty):
status: New → Fix Committed
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Ivan, or anyone else affected,

Accepted grub2-signed into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/grub2-signed/1.34.18 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 and change the tag from verification-needed-trusty to verification-done-trusty. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-trusty. 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
Ivan Hu (ivan.hu) wrote :

Test with Intel software development platform on Trusty with the grub2 trusty-proposed, after updating the grub-efi-amd64(signed), got the correct 64-bit efi linear frame buffer address

[ 1.295327] efifb: probing for efifb
[ 1.295344] efifb: framebuffer at 0x4000000000, mapped to 0xffffc90001000000, using 14400k, total 14400k
[ 1.295346] efifb: mode is 2560x1440x32, linelength=10240, pages=1
[ 1.295347] efifb: scrolling: redraw
[ 1.295349] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0

tags: added: verification-done-trusty
removed: verification-needed-trusty
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 2.02~beta2-9ubuntu1.16

---------------
grub2 (2.02~beta2-9ubuntu1.16) trusty; urgency=medium

  [ Ivan Hu ]
  * debian/patches/0001-i386-linux-Add-support-for-ext_lfb_base.patch:
    Add support for ext_lfb_base. (LP: #1785033)

  [ dann frazier ]
  * Add grub2/update_nvram template to allow users to disable NVRAM
    updates during package upgrades (LP: #1642298).

  [ Mathieu Trudel-Lapierre ]
  * debian/patches: Rework linuxefi/SecureBoot support and sync with upstream
    SB patch set: (LP: #1696599)
    - linuxefi_backport_arm64.patch: backport basic arm64 chainload/linux
      command support from 17.04.
    - linuxefi_arm_sb_support.patch: add Secure Boot support for arm for its
      chainloader.
    - linuxefi_fix_validation_race.patch: Fix a race in validating images.
    - linuxefi_chainloader_path.patch: honor the starting path for grub, so
      images do not need to be started from $root.
    - linuxefi_chainloader_sb.patch: Fix some more issues in chainloader use
      when Secure Boot is enabled.
    - linuxefi_loaders_enforce_sb.patch: Enforce Secure Boot policy for all
      loaders: don't load the commands when Secure Boot is enabled.
    - linuxefi_re-enable_linux_cmd.patch: Since we rely on the linux and
      initrd commands to automatically hand-off to linuxefi/initrdefi; re-
      enable the linux loader.
    - linuxefi_chainloader_pe_fixes.patch: PE parsing fixes for chainloading
      "special" PE images, such as Windows'.
    - linuxefi_rework_non-sb_cases.patch: rework cases where Secure Boot is
      disabled or shim validation is disabled so loading works as EFI binaries
      when it is supposed to.
    - Removed linuxefi_require_shim.patch; superseded by the above.
    - Removed linuxefi_amd64_only.patch; superseded by the above.
    - Refreshed patches.
  * debian/rules: disable the use of -Werror while building grub; the EFI
    patches have subtle cases which trip it up unnecessarily.
  * debian/patches/arm64-set-correct-length-of-device-path-end-entry.patch:
    dropped; included in linuxefi_backport_arm64.patch.
  * debian/patches/linuxefi_fix_relocate_coff.patch: fix typo in
    relocate_coff() causing issues with relocation of code in chainload.
    (LP: #1792575)
  * debian/patches/linuxefi_truncate_overlong_relocs.patch: The Windows
    7 bootloader has inconsistent headers; truncate to the smaller, correct
    size to fix chainloading Windows 7. (LP: #1792575)

 -- Mathieu Trudel-Lapierre <email address hidden> Tue, 08 Jan 2019 12:36:49 -0500

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

This bug was fixed in the package grub2-signed - 1.34.18

---------------
grub2-signed (1.34.18) trusty; urgency=medium

  * Rebuild against grub-efi-amd64 2.02~beta2-9ubuntu1.16
    (LP: #1785033) (LP: #1642298) (LP: #1696599) (LP: #1792575)

 -- Mathieu Trudel-Lapierre <email address hidden> Wed, 09 Jan 2019 09:11:55 -0500

Changed in grub2-signed (Ubuntu Trusty):
status: Fix Committed → Fix Released
Changed in hwe-next:
status: In Progress → 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.