PR #41 was merged (03:48:48) before this second commit was pushed to the same branch, so it never landed on main -- reopening it here.
nixos-install bind-mounts /dev, /proc, /sys (and usually /run) into /mnt to run the target's activation script in a chroot, and doesn't unmount them again afterward. Left in place, those nested mounts made ZFS refuse to unmount its own root dataset at /mnt: zpool export failed with 'cannot unmount /mnt: pool or dataset busy' (confirmed live on a real reinstall), and because auto-install.sh runs under set -e, that killed the script before it ever reached reboot -- silently defeating the export-before-reboot fix from #40 on every real run, which is why the ZFS-import stall kept recurring even after that PR merged.
This is the actual fix for the reboot stall. Verified with bash -n and scripts/codex-maintenance.sh (clean, only pre-existing documented secret-grep exceptions).
PR #41 was merged (03:48:48) before this second commit was pushed to the same branch, so it never landed on main -- reopening it here.
nixos-install bind-mounts /dev, /proc, /sys (and usually /run) into /mnt to run the target's activation script in a chroot, and doesn't unmount them again afterward. Left in place, those nested mounts made ZFS refuse to unmount its own root dataset at /mnt: zpool export failed with 'cannot unmount /mnt: pool or dataset busy' (confirmed live on a real reinstall), and because auto-install.sh runs under set -e, that killed the script before it ever reached reboot -- silently defeating the export-before-reboot fix from #40 on every real run, which is why the ZFS-import stall kept recurring even after that PR merged.
This is the actual fix for the reboot stall. Verified with bash -n and scripts/codex-maintenance.sh (clean, only pre-existing documented secret-grep exceptions).
nixos-install bind-mounts /dev, /proc, /sys (and usually /run) into
/mnt to run the target's activation script in a chroot, and doesn't
unmount them again afterward. Left in place, those nested mounts made
ZFS refuse to unmount its own root dataset at /mnt: zpool export
failed with "cannot unmount '/mnt': pool or dataset busy", and because
of this script's set -e, that killed the script before it ever reached
reboot -- silently defeating the export-before-reboot fix from #40 on
every real run, which is why the ZFS-import stall kept recurring.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
PR #41 was merged (03:48:48) before this second commit was pushed to the same branch, so it never landed on main -- reopening it here.
nixos-install bind-mounts /dev, /proc, /sys (and usually /run) into /mnt to run the target's activation script in a chroot, and doesn't unmount them again afterward. Left in place, those nested mounts made ZFS refuse to unmount its own root dataset at /mnt: zpool export failed with 'cannot unmount /mnt: pool or dataset busy' (confirmed live on a real reinstall), and because auto-install.sh runs under set -e, that killed the script before it ever reached reboot -- silently defeating the export-before-reboot fix from #40 on every real run, which is why the ZFS-import stall kept recurring even after that PR merged.
This is the actual fix for the reboot stall. Verified with bash -n and scripts/codex-maintenance.sh (clean, only pre-existing documented secret-grep exceptions).