aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-22 14:27:49 -0600
committerCraig Jennings <c@cjennings.net>2026-01-22 14:27:49 -0600
commit0720a543d0eacf890ec99a6a5b337c85f896d647 (patch)
treeb8a40b3f3a02e1631f1e92c2b2207a558445d560 /todo.org
parent50a5f78c5a7be0f5e3d630efb10cd23902549667 (diff)
downloadarchangel-0720a543d0eacf890ec99a6a5b337c85f896d647.tar.gz
archangel-0720a543d0eacf890ec99a6a5b337c85f896d647.zip
Fix ratio boot issues: firmware, mkinitcpio, and document ZFS rollback dangers
Root cause: Missing/outdated linux-firmware broke AMD Strix Halo GPU init. Fixed by installing linux-firmware 20260110-1. Changes: - install-archzfs: Fix mkinitcpio config (remove archiso.conf, fix preset) - todo.org: Add ZFS rollback + /boot mismatch issue, recommend ZFSBootMenu - docs/2026-01-22-ratio-boot-fix-session.org: Full troubleshooting session - docs/2026-01-22-mkinitcpio-config-boot-failure.org: Bug report - assets/: Supporting documentation and video transcript Key learnings: - AMD Strix Halo requires linux-firmware 20260110+ - ZFS rollback with /boot on EFI partition can break boot - zpool import -R can permanently change mountpoints
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org87
1 files changed, 87 insertions, 0 deletions
diff --git a/todo.org b/todo.org
index cae3dfa..9415a18 100644
--- a/todo.org
+++ b/todo.org
@@ -1,5 +1,39 @@
* Open Work
+** TODO [#A] Fix mkinitcpio configuration in install-archzfs (causes boot failure)
+After kernel updates or mkinitcpio regeneration, systems fail to boot because install-archzfs
+leaves incorrect mkinitcpio configuration from the live ISO environment.
+
+See [[file:docs/2026-01-22-mkinitcpio-config-boot-failure.org][bug report]] for full details.
+
+*** Three issues to fix
+
+1. *Wrong HOOKS in mkinitcpio.conf* - uses systemd init (incompatible with ZFS hook), missing zfs hook
+ #+BEGIN_SRC bash
+ sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block zfs filesystems)/' /mnt/etc/mkinitcpio.conf
+ #+END_SRC
+
+2. *Leftover archiso.conf drop-in* - overrides HOOKS setting
+ #+BEGIN_SRC bash
+ rm -f /mnt/etc/mkinitcpio.conf.d/archiso.conf
+ #+END_SRC
+
+3. *Wrong preset file* - has archiso configuration instead of standard
+ #+BEGIN_SRC bash
+ cat > /mnt/etc/mkinitcpio.d/linux-lts.preset << 'EOF'
+ PRESETS=(default fallback)
+ ALL_kver="/boot/vmlinuz-linux-lts"
+ default_image="/boot/initramfs-linux-lts.img"
+ fallback_image="/boot/initramfs-linux-lts-fallback.img"
+ fallback_options="-S autodetect"
+ EOF
+ #+END_SRC
+
+4. *Rebuild initramfs after fixing*
+ #+BEGIN_SRC bash
+ arch-chroot /mnt mkinitcpio -P
+ #+END_SRC
+
** TODO [#A] Build AUR packages and include in ISO as local repository
Build AUR packages during ISO creation and include them in a local pacman repository.
This allows AUR software to work both in the live environment AND be installable to target systems.
@@ -144,6 +178,59 @@ fi
- arch-wiki-lite: ~200MB (text only, smaller)
- Could include both for ~600MB total
+** TODO [#A] Fix ZFS rollback breaking boot (/boot not on ZFS)
+ZFS rollbacks can leave the system unbootable because /boot is on a separate EFI partition
+that doesn't get rolled back with the ZFS root filesystem.
+
+*** The Problem
+When rolling back ZFS:
+- /usr/lib/modules/ (kernel modules) gets rolled back
+- /var/lib/pacman/ (package database) gets rolled back
+- Everything else on ZFS root gets rolled back
+
+But /boot (EFI partition) does NOT roll back:
+- Kernel images (vmlinuz-*) remain at newer version
+- Initramfs images remain (may reference missing modules)
+- GRUB config still lists kernels that may not have matching modules
+
+Result: After rollback, GRUB shows kernels that can't boot because their modules
+no longer exist on root. User gets kernel panic or missing module errors.
+
+*** Why This Matters
+- Kernel updates happen frequently and often go unnoticed
+- User does ZFS rollback for unrelated reason
+- System fails to boot with confusing errors
+- Defeats the purpose of ZFS snapshots for easy recovery
+
+*** Solutions
+
+**** Option 1: ZFSBootMenu (Recommended)
+Replace GRUB with ZFSBootMenu which is designed for ZFS boot environments.
+- Boots directly from ZFS snapshots
+- Kernel and initramfs stored on ZFS (rolled back together)
+- Can select boot environment from boot menu
+- See existing task below for implementation details
+
+**** Option 2: Put /boot on ZFS
+- GRUB can read ZFS (with limitations)
+- Requires careful GRUB configuration
+- May have issues with ZFS features GRUB doesn't support
+
+**** Option 3: Sync /boot snapshots with ZFS
+- Script to backup /boot before ZFS snapshot
+- Restore /boot when rolling back ZFS
+- More complex, error-prone
+
+**** Option 4: Always rebuild initramfs after rollback
+- Document this as required step
+- Add helper script to automate
+- Doesn't help if kernel package itself was rolled back
+
+*** References
+- https://zfsbootmenu.org/
+- https://wiki.archlinux.org/title/Install_Arch_Linux_on_ZFS
+- https://openzfs.github.io/openzfs-docs/Getting%20Started/Arch%20Linux/index.html
+
** TODO [#A] Integrate ZFSBootMenu as alternative boot manager
Idea from: https://github.com/stevleibelt/arch-linux-live-cd-iso-with-zfs