[Bug 2060695] Re: 24.04 grub-pc cannot upgrade on mirrored software RAID root disk
Chris Siebenmann
2060695 at bugs.launchpad.net
Thu Apr 11 01:27:44 UTC 2024
I think I know what is happening here. In Ubuntu 20.04 and 22.04, the
grub-pc.postinst has a chunk of code that was designed to deal with bug
#1889556 by skipping running grub-install on package updates. The
initial commit comment by Steve Langasek says:
debian/postinst.in: Avoid calling grub-install on upgrade of the grub-pc package, since we cannot be certain that it will install to the correct disk and a grub-install failure
will render the system unbootable. LP: #1889556
(commit 3aabdc6fe0ab3b6e129fc5b64238c45cbfd0de47 I believe)
This code is, in its final form in 22.04:
elif dpkg --compare-versions "$2" ge 2.04-1ubuntu26 && [ -z "$DEBCONF_RECONFIGURE" ]; then
# Avoid the possibility of breaking grub on SRU update
# due to ABI change
:
2.04-1ubuntu26 was the initial grub2 version in 20.04. This version was
not updated for 22.04 to the 22.04 base version, but the effect was the
same (since they were all more recent than the 20.04 base version). If
you force a 22.04 machine to explicitly reconfigure grub-pc with 'dpkg-
reconfigure grub-pc', it will fail with the same error message as in
24.04 (until you select the real devices).
The reason 24.04 fails here is that the 20.04/22.04 change to grub-
pc.postinst wasn't carried forward to 24.04, the way it was for 22.04
(in commit 00e473f4e2b2e7e607b3aad58cb0c085b1f0561a I believe), so grub-
pc always tries to run grub-install on package updates and fails here. I
don't know if this is a grub-pc 24.04 problem by itself.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/2060695
Title:
24.04 grub-pc cannot upgrade on mirrored software RAID root disk
Status in subiquity:
New
Status in grub2 package in Ubuntu:
Invalid
Bug description:
I am testing the 24.04 pre-beta in a libvirt virtual machine with two
/dev/vd* disks set up as a single mirrored software RAID device,
/dev/md0, that is used for the root filesystem. Since this is a
libvirt install, it is using BIOS booting, not UEFI (maybe someday
libvirt will support snapshots of UEFI based VMs). When I attempt to
install Ubuntu updates, the grub-pc install fails with:
grub-pc: Running grub-install ...
Installing for i386-pc platform.
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: diskfilter writes are not supported.
grub-install failure for /dev/md0
You must correct your GRUB install devices before proceeding:
DEBIAN_FRONTEND=dialog dpkg --configure grub-pc
dpkg --configure -a
dpkg: error processing package grub-pc (--configure):
installed grub-pc package post-installation script subprocess returned error exit status 1
'debconf-show' reports (changed) settings as:
* grub-efi/cloud_style_installation: false
* grub-pc/install_devices: /dev/disk/by-id/md-name-ubuntu-server:0
* grub-pc/install_devices_empty: false
The same mirrored root filesystem configuration works on 22.04 LTS.
To manage notifications about this bug go to:
https://bugs.launchpad.net/subiquity/+bug/2060695/+subscriptions
More information about the foundations-bugs
mailing list