2016-11-10 17:36:02 |
Chris Glass |
bug |
|
|
added bug |
2016-11-10 17:36:52 |
Mathieu Trudel-Lapierre |
grub2 (Ubuntu): status |
New |
Triaged |
|
2016-11-10 17:36:54 |
Mathieu Trudel-Lapierre |
grub2 (Ubuntu): importance |
Undecided |
High |
|
2016-11-10 17:37:11 |
Mathieu Trudel-Lapierre |
grub2 (Ubuntu): assignee |
|
Chris Glass (tribaal) |
|
2016-11-15 20:11:39 |
Launchpad Janitor |
grub2 (Ubuntu): status |
Triaged |
Fix Released |
|
2017-03-01 20:16:56 |
Steve Langasek |
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. |
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. |
|
2017-03-01 20:25:01 |
Steve Langasek |
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. |
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. |
|
2017-03-01 20:30:51 |
Steve Langasek |
grub2 (Ubuntu Xenial): status |
New |
Fix Committed |
|
2017-03-01 20:30:53 |
Steve Langasek |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2017-03-01 20:30:59 |
Steve Langasek |
bug |
|
|
added subscriber SRU Verification |
2017-03-01 20:31:04 |
Steve Langasek |
tags |
|
verification-needed |
|
2017-03-01 20:33:22 |
Steve Langasek |
bug task added |
|
grub2-signed (Ubuntu) |
|
2017-03-01 20:35:12 |
Steve Langasek |
grub2-signed (Ubuntu): status |
New |
Fix Released |
|
2017-03-01 21:59:34 |
Steve Langasek |
tags |
verification-needed |
verification-done |
|
2017-03-09 15:07:20 |
Launchpad Janitor |
grub2 (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|
2017-03-09 15:07:32 |
Brian Murray |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|