aboutsummaryrefslogtreecommitdiff
path: root/build.sh
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-22 23:21:18 -0600
committerCraig Jennings <c@cjennings.net>2026-01-22 23:21:18 -0600
commit3e70ba84c15d69f48f436239e7f0ac9628464c55 (patch)
tree7850e50ac618a661a9c9d0b09b531a89d0696071 /build.sh
parent8c5f6c19dbcf744dd239f23146b0a6d4cb8070d9 (diff)
downloadarchangel-3e70ba84c15d69f48f436239e7f0ac9628464c55.tar.gz
archangel-3e70ba84c15d69f48f436239e7f0ac9628464c55.zip
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
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh17
1 files changed, 0 insertions, 17 deletions
diff --git a/build.sh b/build.sh
index 337564f..acfecd6 100755
--- a/build.sh
+++ b/build.sh
@@ -372,17 +372,6 @@ cp "$CUSTOM_DIR/install-archzfs" "$PROFILE_DIR/airootfs/usr/local/bin/"
cp "$CUSTOM_DIR/install-claude" "$PROFILE_DIR/airootfs/usr/local/bin/"
cp "$CUSTOM_DIR/archsetup-zfs" "$PROFILE_DIR/airootfs/usr/local/bin/"
-# Copy grub-zfs-snap for ZFS snapshot boot entries
-info "Copying grub-zfs-snap..."
-cp "$CUSTOM_DIR/grub-zfs-snap" "$PROFILE_DIR/airootfs/usr/local/bin/"
-mkdir -p "$PROFILE_DIR/airootfs/usr/local/share/grub-zfs-snap"
-cp "$CUSTOM_DIR/40_zfs_snapshots" "$PROFILE_DIR/airootfs/usr/local/share/grub-zfs-snap/"
-cp "$CUSTOM_DIR/zz-grub-zfs-snap.hook" "$PROFILE_DIR/airootfs/usr/local/share/grub-zfs-snap/"
-
-# Copy zfs-snap-prune for snapshot retention
-info "Copying zfs-snap-prune..."
-cp "$CUSTOM_DIR/zfs-snap-prune" "$PROFILE_DIR/airootfs/usr/local/bin/"
-
# Copy zfssnapshot and zfsrollback for ZFS management
info "Copying zfssnapshot and zfsrollback..."
cp "$CUSTOM_DIR/zfssnapshot" "$PROFILE_DIR/airootfs/usr/local/bin/"
@@ -409,12 +398,6 @@ if grep -q "file_permissions=" "$PROFILE_DIR/profiledef.sh"; then
/)/ i\ ["/usr/local/bin/archsetup-zfs"]="0:0:755"
}' "$PROFILE_DIR/profiledef.sh"
sed -i '/^file_permissions=(/,/)/ {
- /)/ i\ ["/usr/local/bin/grub-zfs-snap"]="0:0:755"
- }' "$PROFILE_DIR/profiledef.sh"
- sed -i '/^file_permissions=(/,/)/ {
- /)/ i\ ["/usr/local/bin/zfs-snap-prune"]="0:0:755"
- }' "$PROFILE_DIR/profiledef.sh"
- sed -i '/^file_permissions=(/,/)/ {
/)/ i\ ["/usr/local/bin/zfssnapshot"]="0:0:755"
}' "$PROFILE_DIR/profiledef.sh"
sed -i '/^file_permissions=(/,/)/ {