Can't set boot kernel in GRUB on focal image
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-images |
Confirmed
|
Undecided
|
Unassigned | ||
grub2 (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
It appears that the 20.04 cloud image does not update-grub properly when GRUB_DEFAULT is changed.
As part of my livepatch testing process, I will install an older kernel release on a cloud image, and then set the image to boot the older kernel, which is how I noticed this problem. However, the bug is reproducible without installing anything.
Steps to reproduce:
1. create a new focal VM using 'uvt-kvm create test release=focal arch=amd64'.
2. SSH into the new VM using 'uvt-kvm ssh test'.
3. Change the default boot entry to boot the installed kernel using the advanced menu, by using this command:
echo "GRUB_DEFAULT=
4. Update the grub files using 'sudo update-grub'.
5. Reboot the VM using 'sudo reboot'.
WHAT I EXPECTED:
The VM should reboot into the specified kernel. This does work correctly on bionic and xenial VMs.
WHAT HAPPENED:
The VM fails to boot. Instead, it crashes in an infinite loop.
[ 1.451958] VFS: Cannot open root device "PARTUUID=
[ 1.454532] Please append a correct "root=" boot option; here are the available partitions:
[ 1.456671] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 1.458372] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.4.0-39-generic #43-Ubuntu
[ 1.459935] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.13.0-1ubuntu1 04/01/2014
[ 1.461705] Call Trace:
[ 1.462312] dump_stack+
[ 1.463064] panic+0x101/0x2e3
[ 1.463917] mount_block_
[ 1.464786] mount_root+
[ 1.465595] prepare_
[ 1.466503] kernel_
[ 1.467448] ? rest_init+0xb0/0xb0
[ 1.468213] kernel_
[ 1.469061] ret_from_
[ 1.471399] Kernel Offset: 0x2ce00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000
[ 1.474038] ACPI MEMORY or I/O RESET_REG.
Changed in cloud-images: | |
status: | New → Confirmed |
I've attached the crash that happens after the boot modification, and a copy of the dmesg from a successful boot without any modification.