Bug#1064945: grub-efi-amd64: Sudden boot failures on ZFS systems

John Goerzen jgoerzen at complete.org
Wed Feb 28 04:36:01 GMT 2024


Package: grub-efi-amd64
Version: 2.06-13+deb12u1
Severity: critical
Tags: upstream patch
Justification: breaks the whole system

My system suddenly refused to start up grub.  An error message flashed by, but
too quickly for me to be able to see.  Then I got the grub emergency prompt.

Upon booting from a Debian live image to attempt to fix this, after chrooting
into an appropriately-configured filesystem from the target (with bind-mount
/proc, /sys, /dev, /boot/efi, etc), grub-install failed with:

error: compression algorithm inherit not supported

I'll note that "inherit" is not really a compression algorithm for ZFS.  (root,
and also boot, are part of ZFS on this system.)

Upon researching this, I see that https://github.com/openzfs/zfs/issues/15261
discusses the problem.  https://github.com/openzfs/zfs/issues/13873 does as
well.

https://github.com/openzfs/zfs/issues/13873#issuecomment-1905182760 suggests
that it is the ZFS feature extensible_dataset that is responsible for this.
That feature can get auto-enabled by other features at runtime.

Both of these bugs indicate that grub 2.12 contains patches to fix the issue.
Indeed, the four patches listed at
https://git.savannah.gnu.org/cgit/grub.git/log/grub-core/fs/zfs/zfs.c pertaining
to ZFS are thought to fix it.

I have built a bookworm-backports version of grub 2.12 and it does indeed solve
the problem.

I think this issue justifies backporting those ZFS patches into the version in
bookworm for stable-proposed-updates.

Thanks!

- John

-- System Information:
Debian Release: 12.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-18-amd64 (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages grub-efi-amd64 depends on:
ii  debconf [debconf-2.0]  1.5.82
ii  grub-common            2.06-13+deb12u1
ii  grub-efi-amd64-bin     2.06-13+deb12u1
ii  grub2-common           2.06-13+deb12u1
ii  ucf                    3.0043+nmu1

grub-efi-amd64 recommends no packages.

grub-efi-amd64 suggests no packages.

-- debconf information excluded



More information about the Pkg-grub-devel mailing list