include patch to resolve bug where grub2 cannot boot Dell PowerEdge 12G systems in UEFI mode

Bug #1046429 reported by Jared Dominguez on 2012-09-05
36
This bug affects 3 people
Affects Status Importance Assigned to Milestone
OEM Priority Project
High
Unassigned
Precise
High
Unassigned
The Dell-poweredge project
High
Kent Baxley
grub
Unknown
Unknown
grub2 (Ubuntu)
High
Colin Watson
Precise
High
Colin Watson
Quantal
High
Colin Watson

Bug Description

[Impact] GRUB fails to load Linux on UEFI machines with certain firmware behaviour related to getting the memory map. The known case is Dell PowerEdge 12G systems.
[Test Case] Try to boot on one of these systems and make sure it's possible.
[Regression Potential] It's easy to verify that the change is confined to UEFI. It would definitely be worth regression-testing on other UEFI systems to make sure they can still load Linux too, though, as this is a fairly substantial change to the loader.

Original report follows:

We (Dell) would like grub2 patched in Quantal so that it is able to boot using grub2 on Dell PowerEdge 12G systems that are in UEFI mode.

In May, we reported this bug in Precise's version of grub2 (although our patch has not yet been included in an update of grub2 for Precise). See <https://bugs.launchpad.net/oem-priority/+bug/1001009>. We provided a patch that works against grub2_1.99-21ubuntu3 as well as one that applies against version 2.00. I've included the one for 1.99. It has not yet been included in the grub2 package for Quantal.

The attachment "grub2-1.99_efimm_late_malloc_3.patch" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Kent Baxley (kentb) on 2012-09-05
Changed in grub2 (Ubuntu):
status: New → Confirmed
Colin Watson (cjwatson) on 2012-09-06
Changed in grub2 (Ubuntu):
importance: Undecided → High
assignee: nobody → Colin Watson (cjwatson)
milestone: none → ubuntu-12.10-beta-2
status: Confirmed → Triaged
tags: added: rls-q-tracking
Colin Watson (cjwatson) wrote :

I'm currently working on packaging GRUB 2.00, and hope to get that into Ubuntu 12.10. Since the patch against 2.00 for this is very much simpler, I'd prefer to take that route if possible.

Colin Watson (cjwatson) wrote :

I've now included the patch against 2.00 in my packaging-in-progress.

Thank you. Please let me know if and when you have anything available for testing. I'd be happy to verify your grub 2.00 package on the systems in our lab.

Colin Watson (cjwatson) wrote :

If you'd like to look at https://launchpad.net/~cjwatson/+archive/grub and see how that works for you, that would be welcome. Be warned that I have only tested this myself on BIOS so far!

I verified that I can now UEFI boot using your grub 2.00 package on a PowerEdge R820. \o/

Colin Watson (cjwatson) wrote :

Thanks for testing!

Changed in grub2 (Ubuntu Quantal):
status: Triaged → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (6.7 KiB)

This bug was fixed in the package grub2 - 2.00-3ubuntu1

---------------
grub2 (2.00-3ubuntu1) quantal; urgency=low

  * Resynchronise with Debian (LP: #1046890). Remaining changes:
    - Adjust for default Ubuntu boot options ("quiet splash").
    - Default to hiding the menu; holding down Shift at boot will show it.
    - Set a monochromatic theme and an appropriate background for Ubuntu.
    - Apply Ubuntu GRUB Legacy changes to legacy update-grub script.
    - Fix backslash-escaping in merge_debconf_into_conf.
    - Remove "GNU/Linux" from default distributor string.
    - Add crashkernel option.
    - Bypass menu unless other OSes are installed or Shift is pressed.
    - Allow Shift to interrupt 'sleep --interruptible'.
    - Reduce visual clutter in normal mode.
    - Remove verbose messages printed before reading configuration.
    - Suppress kernel/initrd progress messages, except in recovery mode.
    - Show the boot menu if the previous boot failed.
    - Adjust upgrade version checks for Ubuntu.
    - Suppress "GRUB loading" message unless Shift is held down.
    - Adjust versions of grub-doc and grub-legacy-doc conflicts.
    - Look for .mo files in /usr/share/locale-langpack first.
    - Build-depend on qemu-kvm rather than qemu-system for grub-pc tests.
    - Check hardware support before using gfxpayload=keep.
    - Set vt.handoff=7 for smooth handoff to kernel graphical mode.
    - In recovery mode, add nomodeset to the Linux kernel arguments, and
      remove the 'set gfxpayload=keep' command.
    - Skip Windows os-prober entries on Wubi systems, and suppress the menu
      by default if those are the only other-OS entries.
    - Handle probing striped DM-RAID devices.
    - Replace 'single' by 'recovery' when friendly-recovery is installed.
    - Disable cursor as early as possible in grub_main.
    - Avoid getting confused by inaccessible loop device backing paths.
  * Apply patch from Fedora to forbid insmod on UEFI secure boot.

grub2 (2.00-3) experimental; urgency=low

  * Use dh-autoreconf.
  * Bail out if trying to run grub-mkconfig during upgrade to 2.00 (e.g.
    while configuring a kernel image), since the old /etc/grub.d/00_header
    conffile breaks until such time as grub-common is configured.

grub2 (2.00-2) experimental; urgency=low

  * Add -Wno-error=unused-result to HOST_CFLAGS for the moment, since at
    least grub-core/lib/crypto.c fails to compile on Ubuntu otherwise.
  * Update default/grub.md5sum to include Ubuntu maverick's default md5sum.
  * Autogenerate packaging files for grub-emu, in order that its postinst
    does not contain unexpanded @PACKAGE@ symbols.
  * Only try to install efiemu*.o into grub-emu on *-i386.

grub2 (2.00-1) experimental; urgency=low

  [ Jordi Mallach, Colin Watson ]
  * New upstream release.
    - Add LUKS and GELI encrypted disk support (closes: #463107).
    - Lazy scanning to avoid accessing devices which aren't really used.
      This avoids boot delay due to slow device scanning (closes: #549905,
      #550015, #550083, #564252, #595059, #632408).
    - Don't override more informative errors when loading kernel/initrd
      (closes: #551630).
    - Support 4K-sector...

Read more...

Changed in grub2 (Ubuntu Quantal):
status: Fix Committed → Fix Released
Kent Baxley (kentb) on 2012-11-26
Changed in oem-priority:
importance: Undecided → High
status: New → Confirmed
Kent Baxley (kentb) on 2012-11-29
Changed in dell-poweredge:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Kent Baxley (kentb)
Colin Watson (cjwatson) on 2012-12-06
Changed in grub2 (Ubuntu Precise):
status: New → Triaged
importance: Undecided → High
assignee: nobody → Colin Watson (cjwatson)
milestone: none → ubuntu-12.04.2
Colin Watson (cjwatson) on 2013-01-03
Changed in grub2 (Ubuntu Precise):
status: Triaged → In Progress
Colin Watson (cjwatson) on 2013-01-03
description: updated
Kent Baxley (kentb) on 2013-01-08
Changed in dell-poweredge:
status: Confirmed → In Progress

Hello Daniel, or anyone else affected,

Accepted grub2 into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/grub2/1.99-21ubuntu3.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 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 to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

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

Changed in grub2 (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Kent Baxley (kentb) wrote :

Tested the proposed grub packages on 3 servers:

PowerEdge 11G Series, which always worked in EFI mode

PowerEdge 12G Series with the 'broken' BIOS - i.e. one where 12.04 would not boot in EFI mode.

PowerEdge 12G Series with the 'fixed' BIOS that allowed 12.04 to boot in EFI mode.

To test, I downloaded the proposed grub packages to a USB stick. Once Ubuntu had been installed, but before the system was rebooted, I did the following:

1) Went to virtual terminal 2 and chrooted into the installed system (“chroot /target”).
2) Mounted the USB stick.
3) Installed the new grub packages from my USB stick.
4) Typed exit, then flipped back to the installer screen and hit Continue to reboot.

All 3 systems booted successfully. The 12G system with the 'broken' BIOS would not boot 12.04 in EFI mode in the past. Now it does.

I also reinstalled all 3 systems in legacy BIOS mode and updated only the applicable grub packages from proposed to make sure there were no problems. Everything checked out fine there as well.

I think we are in good shape.

tags: added: verification-done
removed: verification-needed
Changed in dell-poweredge:
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 1.99-21ubuntu3.9

---------------
grub2 (1.99-21ubuntu3.9) precise; urgency=low

  * Also skip update-grub when running in a container (LP: #1060404).
 -- Colin Watson <email address hidden> Tue, 22 Jan 2013 14:43:32 +0000

Changed in grub2 (Ubuntu Precise):
status: Fix Committed → Fix Released
Kent Baxley (kentb) on 2013-02-05
Changed in dell-poweredge:
status: Fix Committed → Fix Released
Changed in oem-priority:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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