aboutsummaryrefslogtreecommitdiff
path: root/docs/session-context.org
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
commit0ffe7a85a1b024b88e4ddc3305c5f805edd6e8e1 (patch)
treeccd6c610630cce9eef268ab692999cdfe3bb5a1b /docs/session-context.org
parent197a8036af21232276cfbd9624d9eeeebe722df6 (diff)
downloadarchangel-0ffe7a85a1b024b88e4ddc3305c5f805edd6e8e1.tar.gz
archangel-0ffe7a85a1b024b88e4ddc3305c5f805edd6e8e1.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 'docs/session-context.org')
-rw-r--r--docs/session-context.org52
1 files changed, 52 insertions, 0 deletions
diff --git a/docs/session-context.org b/docs/session-context.org
new file mode 100644
index 0000000..2cf29bd
--- /dev/null
+++ b/docs/session-context.org
@@ -0,0 +1,52 @@
+#+TITLE: Session Context
+#+DATE: 2026-01-22
+
+* Session: Thursday 2026-01-22 21:37 CST - ongoing
+
+** Current Task
+Creating implementation plan to replace GRUB with ZFSBootMenu in install-archzfs.
+
+** Status
+Plan written and updated with research findings.
+
+** Work Completed This Session
+
+1. Read protocols.org and NOTES.org
+2. Ran session startup workflow
+3. Found inbox item: instructions.txt (AMD GPU fix guide from earlier session)
+4. Created detailed ZFSBootMenu implementation plan
+5. Researched 5 comparable open-source projects:
+ - eoli3n/archiso-zfs + arch-config
+ - PandaScience/arch-on-zfs
+ - sandreas/zarch
+ - danboid/ALEZ
+ - danfossi/Arch-ZFS-Root-Installation-Script
+6. Updated plan with best practices from research
+
+** Key Corrections from Research
+
+CRITICAL: The original plan incorrectly proposed creating a /boot dataset.
+All researched projects agree: /boot must be a DIRECTORY inside ROOT/default,
+NOT a separate ZFS dataset. This ensures snapshots include the kernel.
+
+Other improvements adopted:
+- Set org.zfsbootmenu:commandline on ROOT parent (not ROOT/default) for inheritance
+- Add ZFSBootMenu EFI parameters: zbm.timeout, zbm.prefer, zbm.import_policy
+- Copy hostid to installed system
+- Set bootfs pool property
+
+** Files Created/Modified
+
+- PLAN-zfsbootmenu-implementation.org - Main implementation plan (project root)
+- docs/session-context.org - This file
+
+** Inbox Status
+
+1 item pending: instructions.txt (AMD GPU fix guide)
+- Recommendation: file to docs/2026-01-22-ratio-amd-gpu-freeze-fix-instructions.org
+
+** Next Steps
+
+1. File inbox item (instructions.txt)
+2. Decide whether to implement the ZFSBootMenu plan now or later
+3. If implementing: create git branch, follow plan steps, test