This is what worked here:

# Update everything to latest on 24.10 (make sure apt uses old-releases)
sudo apt update
sudo apt upgrade
sudo reboot

sudo sed -i 's/oracular/plucky/g' /etc/apt/sources.list.d/ubuntu.sources
sudo sed -i 's/old-releases/archive/g' /etc/apt/sources.list.d/ubuntu.sources
sudo apt update

# It will appear stuck during dkms, but will eventually complete
sudo apt install --yes zfsutils-linux zfs-dkms
sudo update-initramfs -u -k all

# REBOOT!
sudo reboot

# Check we are on 2.3.1 for both zfs + zfs-kmod
zfs --version

# Restore old sources
sudo sed -i 's/plucky/oracular/g' /etc/apt/sources.list.d/ubuntu.sources
sudo sed -i 's/archive/old-releases/g' /etc/apt/sources.list.d/ubuntu.sources
sudo apt update

# Start the do-release-upgrade (ctrl+c when it asks whether to proceed)
cd /tmp/ubuntu-release-upgrade-  #whatever suffix it was extracted to
sudo sed -i 's/self._test_and_fail_on_zfs()/pass/' 
DistUpgrade/DistUpgradeQuirks.py

# Start the do-release-scripts again (did this part in gnome terminal, the 
other steps in ssh YMMV)
sudo ./plucky

#let it upgrade and reboot, verify zfs versions still match after the upgrade
zfs --version


These steps at least got me upgraded successfully, with zfs on root (with 
encryption), but again YMMV, make sure to backup first.

Thanks for the previous hints in here.

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

Title:
  System freeze on release upgrade 24.10 oracular to 25.04 plucky with
  root fs on ZFS

Status in linux package in Ubuntu:
  Confirmed
Status in ubuntu-release-upgrader package in Ubuntu:
  Deferred
Status in zfs-linux package in Ubuntu:
  Confirmed
Status in linux source package in Plucky:
  Confirmed
Status in ubuntu-release-upgrader source package in Plucky:
  Fix Released
Status in zfs-linux source package in Plucky:
  Confirmed

Bug description:
  [Impact]
  Upgrades to 25.10 (and newer) fail as the ZFS userspace modules are newer 
than the kernel modules and there is some incompatibility that can cause the 
kernel to hang, particularly the bug observes a problem with iterating over the 
snapshots of the root file system freezing it.

  [Test plan: ubuntu-release-upgrader]
  1. Create a vm
  2. Check that the upgrade doesn't trigger the screen
     (no zpool exists)
  3. Install zfsutils-linux
  4. Check that the upgrade doesn't trigger the screen
     (zpool list -H will be empty)
  5. Create a zpool, for example in a file
      # fallocate /swap -l 2G
      # zpool create foo /swap
      # zpool list
      NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
      foo 1.88G 134K 1.87G - - 0% 0% 1.00x ONLINE -
      # zpool list -H
      foo 1.88G 110K 1.87G - - 0% 0% 1.00x ONLINE -
  6. Check that the upgrade aborts

  [Where problems could occur: ubuntu-release-upgrader]
  The change disables upgrades for all systems with a zpool, regardless of 
snapshots existing or zpool being on root, this also may include systems that 
could upgrade successfully.

  If the code is wrong it could inadvertently block systems without ZFS
  from upgrading, however this seems reasonably mitigated by the test
  plan.

  [Original bug report]

  SUMMARY:
  I'm running Ubuntu 24.10 on a ZFS root fs on LUKS which also has snapshots. 
As part of the release upgrade process ubuntu-release-upgrader is triggering a 
bug in ZFS triggered by the update-grub steps which executes ls 
/.zfs/snapshot/… via 10_linux_zfs and eventually causes a kernel deadlock on 
mount.zfs.

  As the `ls` statement in question works flawlessly before the upgrade
  process, I assume the hang is caused due to ZoL been replaced by apt
  previously? That's why I feel this is a ubuntu-release-upgrader
  package bug.

  I've reported this bug also upstream at ZoL:
  https://github.com/openzfs/zfs/issues/17337

  DETAILED DESCRIPTION:
  I've failed now 7 time to upgrade my Ubuntu 24.10 to 25.04 (Beta, RC, First 
Release, Today). In all cases the upgrade runs into a complete system freeze 
deadlock. `zfs rollback`  for the rescue. Today, only using text console with 
screen & running `dmesg -Hxw`, `htop -d 5` and `do-release-upgrade` in parallel 
I finally was able to pinpoint the problem:

    1. `do-release-upgrade` downloads & install all updated .deb
  packages

    2. Eventually, the upgrade tries to run `upgrade-grub`

    3. The grub script executes the hook `10_linux_zfs` to identify the
  available kernel versions for the grub boot menu

    4. As part of this discovery an `ls /.zfs/snapshot/[snapshot]/etc`
  is executed which causes a system freeze

    5. Eventually, after a long pause the kernel reports `task ls:…
  blocked for more than 122 seconds.`

    6. Only option left for me is to shutdown server and revert to ZFS
  snapshot I did before the upgrade

  REMARKS:
  * Executing "ls /.zfs/snapshot/[snapshot]/etc" and "update-grub" works 
successfully BEFORE upgrade
  * Rebooting into the partial upgraded system, running "strace update-grub" 
reproduces the problem.

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


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to