← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1640878] Re: grub2 cannot currently generate configuration without initrd

 

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

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

  * debian/patches/support_initrd-less_boot.patch: Added knobs to allow
    non-initrd boot config. Thanks Chris Glass! (LP: #1640878)

 -- Mathieu Trudel-Lapierre <cyphermox@xxxxxxxxxx>  Wed, 01 Mar 2017
12:36:16 -0500

** Changed in: grub2 (Ubuntu Xenial)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1640878

Title:
  grub2 cannot currently generate configuration without initrd

Status in grub2 package in Ubuntu:
  Fix Released
Status in grub2-signed package in Ubuntu:
  Fix Released
Status in grub2 source package in Xenial:
  Fix Released

Bug description:
  As it currently stands grub2 cannot create grub.cfg menu entries that do not use an initrd image if one is present but the user does not desire to use it.
  Furthermore, root= entries only support UUID and LABEL, but neither is an option if booting the kernel without an initrd.

  Suggestion:

  Allow grub2 to create configuration files without an "initrd" line and
  passing PARTUUID as root= entry by adding configuration knobs.

  [SRU Justification]
  A lot of time is wasted across the many, many instances of Ubuntu loading initramfs when booting.  It's a measurable savings of CPU time and electricity to skip loading an initramfs at boot if it's not required.

  [Test case]
  1. cp /boot/grub/grub.cfg /tmp/grub.cfg
  2. install the grub packages from -proposed.
  3. cmp /boot/grub/grub.cfg /tmp/grub.cfg || echo 'fail'
  4. as root, configure /etc/default/grub to mount the root disk directly and bypass the initramfs:
    echo GRUB_DISABLE_INITRD=true >> /etc/default/grub
    root=$(awk </etc/fstab '$2 == "/" { print $1 }')
    case $root in
        LABEL=*|UUID=*)
            dev="-l -t $root"
            ;;
        *)
            dev=$root
            ;;
    esac
    partuuid=$(blkid -s PARTUUID -o value $dev)
    if [ -z "$partuuid" ]; then
        echo "Error: cannot get partuuid for $root."
    else
        echo GRUB_FORCE_PARTUUID=$partuuid >> /etc/default/grub
    fi
  5. If a partuuid has been found, run update-grub.  Note that this will only work if your root device is a partition on a GPT-formatted disk.
  6. Check that /boot/grub/grub.cfg now contains entries that don't specify an initramfs, and do include root=PARTUUID=* on the kernel commandline.

  [Regression potential]
  This upload introduces no behavior changes unless the user updates /etc/default/grub to configure the use of the new feature, so there should be no regressions here.  The SRU test case verifies that /boot/grub/grub.cfg remains unchanged with the new version.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1640878/+subscriptions