From 3e70ba84c15d69f48f436239e7f0ac9628464c55 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 22 Jan 2026 23:21:18 -0600 Subject: Replace GRUB with ZFSBootMenu bootloader This is a major change that replaces the GRUB bootloader with ZFSBootMenu, providing native ZFS boot environment support. Key changes: - EFI partition reduced from 1GB to 512MB (only holds ZFSBootMenu) - EFI now mounts at /efi instead of /boot - Kernel and initramfs live on ZFS root (enables snapshot boot with matching kernel) - Downloads pre-built ZFSBootMenu EFI binary from get.zfsbootmenu.org - Creates EFI boot entries for all disks in multi-disk configurations - Syncs ZFSBootMenu to all EFI partitions for redundancy - Sets org.zfsbootmenu:commandline on zroot/ROOT for kernel cmdline inheritance - Sets bootfs pool property for default boot environment - AMD GPU workarounds (pg_mask, cwsr_enable) added to kernel cmdline when AMD detected Deleted GRUB snapshot tooling (no longer needed): - custom/grub-zfs-snap - custom/40_zfs_snapshots - custom/zz-grub-zfs-snap.hook - custom/zfs-snap-prune Updated helper scripts: - zfssnapshot: removed grub-zfs-snap call, shows ZFSBootMenu tip - zfsrollback: removed grub-zfs-snap call, notes auto-detection Tested configurations: - Single disk installation - 2-disk mirror (mirror-0) - 3-disk RAIDZ1 (raidz1-0) - All boot correctly with ZFSBootMenu --- custom/zz-grub-zfs-snap.hook | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 custom/zz-grub-zfs-snap.hook (limited to 'custom/zz-grub-zfs-snap.hook') diff --git a/custom/zz-grub-zfs-snap.hook b/custom/zz-grub-zfs-snap.hook deleted file mode 100644 index 8153b84..0000000 --- a/custom/zz-grub-zfs-snap.hook +++ /dev/null @@ -1,22 +0,0 @@ -[Trigger] -Type = Package -Operation = Upgrade -Operation = Install -Operation = Remove -Target = linux-lts -Target = linux-lts-headers -Target = zfs-dkms -Target = zfs-utils -Target = grub - -[Trigger] -Type = Path -Operation = Install -Operation = Upgrade -Operation = Remove -Target = usr/lib/modules/*/vmlinuz - -[Action] -Description = Updating GRUB with ZFS snapshots... -When = PostTransaction -Exec = /usr/local/bin/grub-zfs-snap -- cgit v1.2.3