[FFe] grub2 2.00

Bug #1046890 reported by Colin Watson
28
This bug affects 3 people
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)
Fix Released
High
Unassigned
Quantal
Fix Released
High
Unassigned

Bug Description

I'd like to bump quantal from grub2 1.99 to 2.00.

Firstly, I apologise for this being relatively late. For one reason or another I was a bit short on motivation to get it sorted out earlier, not to mention short on time; but neither of those are a problem any more, this is now a very high priority for me, and I can devote considerable attention to sorting out any regressions.

GRUB 2.00 is a significant release, and contains quite a number of feature changes. It is worth pointing out that we have backported many of these to 1.99 or originated some of the patches (particularly various filesystems, submenus, EDID video mode selection, and grub-mount), and by now our 1.99 packaging is a Frankenstein collection of backports. Between that and being a year behind, upstream is pretty much uninterested in going anywhere near it by now, and my mailbox is full of bugs where people report that 2.00 fixed things for them. I'm keen to bring us up to something more current and less extensively patched. Furthermore, there are several features that are important and impractical to backport. These include:

 * USB EHCI (some devices aren't accessible by 1.99 due to the lack of this)
 * EFI serial
 * Network stack for (among other platforms) EFI, which should permit EFI netbooting (an important feature requested by some partners for 12.10)
 * LUKS support
 * A gfxmenu theme, which should help to eliminate the reasons people feel they need to use BURG (I don't know if I'll enable this by default in quantal, but it will be available)
 * GDB stub and support script, including backtrace on crash on i386
 * Faster device scanning

Here's the debian/changelog fragment describing the new upstream release:

  * 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 NTFS (closes: #567728).
    - Unify grub-mkrescue interface on powerpc with that on other
      architectures (closes: #570119).
    - Fix infinite recursion in gettext when translation fails (closes:
      #611537, #612454, #616487, #619618, #626853, #643608).
    - Add more missing quotes to grub-mkconfig (closes: #612417).
    - Import gnulib change to fix argp_help segfault with help filter
      (closes: #612692).
    - Support %1$d syntax in grub_printf (closes: #630647).
    - Use write-combining MTRR to speed up video with buggy BIOSes (closes:
      #630926).
    - Remove multiboot header from PXE images to avoid confusing ipxe
      (closes: #635877).
    - Fix crash when attempting to install to a non-BIOS disk (closes:
      #637208).
    - Fix handling of grub-mkrescue --xorriso= option (closes: #646788).
    - Use umask rather than chmod to create grub.cfg.new to avoid insecure
      grub.cfg (closes: #654599).
    - Improve font installation logic (closes: #654645).
    - Add grub-probe info documentation (closes: #666031).
    - Don't crash on canonicalize_file_name failure in grub-probe (closes:
      #677211).

I'd like to call out the lazy scanning and gettext infinite recursion items in particular. While I've had enough on my plate with going through the bugs in Debian to go through the (on average rather less helpful and not curated by upstream) bugs in Ubuntu, these fix a large number of delays and hard-to-diagnose crashes, in the latter case especially on complex RAID/LVM/etc. setups. I would be lying if I said I didn't expect there to be some regressions, but I think we can cover the worst of that with advance testing in Debian and in a PPA, and I should certainly be able to deal with anything that's serious and widespread.

This also fixes bug 1046429, which is important for UEFI clients.

Please see https://launchpad.net/~cjwatson/+archive/grub for build logs. My testing in Debian has been encouraging so far, only needing to fix a few comparatively trivial problems encountered in my plain, LVM, LVM+crypto, and RAID-1 test VMs. I've encountered one DM-RAID-based problem which still needs to be fixed.

I'll attach ChangeLog (warning, large!) and NEWS diffs.

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

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in grub2 (Ubuntu):
status: New → Confirmed
Revision history for this message
Colin Watson (cjwatson) wrote :

My preliminary packages are here:

  https://launchpad.net/~cjwatson/+archive/grub

Colin Watson (cjwatson)
description: updated
Revision history for this message
Kate Stewart (kate.stewart) wrote :

If we're going to pick this up, now rather than later. Please make sure this lands before 9/14, and have a fall back ready to switch over too before beta-2 freeze if too many issues.

Revision history for this message
Stéphane Graber (stgraber) wrote :

Moving to a less heavily patched upstream version including what looks like pretty significant fixes/improvements seems worth it to me.
It doesn't sound like the new features will be particularly user visible except in the cases where they'll get a working system where they wouldn't in the past, so I'm not seeing a problem with these either.

The testing plan mentioned on IRC, using a PPA and call for testing before pushing to the archive sounds good.
Having this land later this week or early next week would be ideal, any later would be impacting beta 2.

In case of major non-trivially fixable regressions, the plan is to re-upload the current 1.99 (using one of these rather ugly version numbers).

+1

Changed in grub2 (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Colin Watson (cjwatson) wrote :

Testing reports so far:

 * Failure with striped DM-RAID, a recurrence of bug 803658. I've reproduced this locally and uploaded what I believe to be a fix to my PPA.
 * Success on an HP laptop dual-booting Ubuntu and Windows 7 (one alternate Ubuntu install was unbootable, but this was true with 1.99 as well).
 * Success on two systems with BIOS+LVM+crypto.
 * Success with an external monitor and a USB keyboard. This tester raised a dislike of recovery mode being moved into a submenu; this was an upstream change and I can see arguments either way, so I'm going to leave this at the new upstream behaviour for now.
 * Success on several disks with Ubuntu and Lubuntu i386 installed. The precise packages in my PPA have dependency issues, but I kind of knew that.
 * Success dual-booting with Windows 8 Consumer Preview.
 * Qualified success with a progression in video mode detection. The qualification was that upgrading the new GRUB packages at the same time as a new kernel confuses the zz-update-grub kernel hook. After grub-install had been run, the kernel installed fine. I'll look into this.
 * One instance of what I believe to be confusion due to multiple GRUB instances and an incorrect GRUB installation location (a common enough problem on any non-trivial upgrade of GRUB).
 * Success and "looks better", with no other details.
 * Success on amd64 with a PATA disk.
 * Success on two systems.

Revision history for this message
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):
status: Triaged → Fix Released
Revision history for this message
Colin Watson (cjwatson) wrote :

I fixed the problem with the zz-update-grub kernel hook before uploading this, by the way.

Revision history for this message
Kate Stewart (kate.stewart) wrote :

just some housekeeping, so I can find this in searches.

Changed in grub2 (Ubuntu Quantal):
importance: Undecided → High
To post a comment you must log in.
This report contains Public information  
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.