Works great. Tested, and a lot simpler, because there are builds for
Jammy, Mantic and Noble.

The command log for the updated work-around using the "Backports build PPA"
>>>
sudo su -
zpool export -a
zpool import -N -R /mnt rpool
zpool import -N -R /mnt bpool
UUID=$(zfs list | awk '/^bpool\/BOOT\/ubuntu_/ {print $1}' | sed 
's/bpool\/BOOT\/ubuntu_//g')
zfs import rpool/ROOT/ubuntu_$UUID
zfs import bpool/BOOT/ubuntu_$UUID
zfs mount -a
mount --make-private --rbind /dev /mnt/dev
mount --make-private --rbind /proc /mnt/proc
mount --make-private --rbind /sys /mnt/sys
mount --make-private --rbind /run /mnt/run
chroot /mnt /bin/bash --login
mount -a

# Add the "Backports build PPA" for Grub2 2.12
add-apt-repository ppa:ubuntu-uefi-team/backports-build
apt update

# Install the Grub2 packages
apt install grub-efi-amd64 grub-efi-amd64-signed
# This will pull in some needed depends of Grub2 2.12~rc1 from the Nolble Repo's

# Reinstall/configure grub
grub-install --target=x86_64-efi --efi-directory=/boot/efi \
    --bootloader-id=ubuntu --recheck --no-floppy

# Update the intramfs images
update-intramfs -c -k all

# Change the repo sources back to Jammy
cp /etc/apt/sources.list.jammy /etc/apt/sources.list
apt update

# Test: (Skip if snapshots already exist...)
zfs snapshot bpool/BOOT/ubuntu_2nlhsy@20230204a
zfs snapshot bpool/BOOT/ubuntu_2nlhsy@20230204b
zfs snapshot bpool/BOOT/ubuntu_2nlhsy@20230204c

zfs list -t snapshot

# Output:
#NAME USED AVAIL REFER MOUNTPOINT
#bpool/BOOT/ubuntu_2nlhsy@20230204a 0B - 298M -
#bpool/BOOT/ubuntu_2nlhsy@20230204b 0B - 298M -
#bpool/BOOT/ubuntu_2nlhsy@20230204c 0B - 298M -

# Exit Gracefully:
exit
mount | grep -v zfs | tac | awk '/\/mnt/ {print $3}' | \
    xargs -i{} umount -lf {}
zpool export -a

reboot
>>>

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to zfs-linux in Ubuntu.
https://bugs.launchpad.net/bugs/2051999

Title:
  Grub2 2.06 has upstream bug that results in Non-booting with ZFS after
  snapshot of bpool.

Status in grub2 package in Ubuntu:
  Confirmed
Status in grub2-unsigned package in Ubuntu:
  Confirmed
Status in zfs-linux package in Ubuntu:
  Confirmed

Bug description:
  There is an upstream Bug with Grub where if you create snapshots of bpool, it 
results in a non-booting System. The problem was found to be an upstream Bug 
with Grub2:
  https://savannah.gnu.org/bugs/index.php?64297

  Multiple Ubuntu 22.04.3 Users Affected:
  https://ubuntuforums.org/showthread.php?t=2494397&highlight=zfs+grub+bug
  https://ubuntuforums.org/showthread.php?t=2494957

  Brought up as an issue at OpenZFS:
  https://github.com/openzfs/zfs/issues/13873

  If you look at this comment 
(https://github.com/openzfs/zfs/issues/13873#issuecomment-1892911836), if was 
found the Savanaugh at GNU released a fix for it in Grub2 2.12, here:
  https://git.savannah.gnu.org/cgit/grub.git/log/grub-core/fs/zfs/zfs.c

  Ubuntu Jammy 22.04.3 is Grub2 2.06. We need to backported this patch
  to Grub2 2.06 so that Users are not caught of in this bug for or
  currently supported LTS Release.

  ProblemType: Bug
  DistroRelease: Ubuntu 22.04
  Package: grub-efi-amd64 2.06-2ubuntu14.4
  ProcVersionSignature: Ubuntu 6.2.0-39.40~22.04.1-generic 6.2.16
  Uname: Linux 6.2.0-39-generic x86_64
  NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair nvidia_modeset 
nvidia
  ApportVersion: 2.20.11-0ubuntu82.5
  Architecture: amd64
  CasperMD5CheckResult: unknown
  CurrentDesktop: GNOME
  Date: Thu Feb  1 16:40:28 2024
  InstallationDate: Installed on 2021-09-23 (861 days ago)
  InstallationMedia: Ubuntu 20.04.3 LTS "Focal Fossa" - Release amd64 (20210819)
  SourcePackage: grub2-unsigned
  UpgradeStatus: Upgraded to jammy on 2022-08-17 (533 days ago)

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


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to