diff options
| author | Craig Jennings <c@cjennings.net> | 2026-01-22 14:27:49 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-01-22 14:27:49 -0600 |
| commit | 8eb7eb600bc9e709b6ee754a337289382bbcea4f (patch) | |
| tree | e188bb84e2264fb3ba4b812a4eb41da42ddf4862 /custom/install-archzfs | |
| parent | 555fd551aacd5578a22bd6e205b811b622c5508f (diff) | |
| download | archangel-8eb7eb600bc9e709b6ee754a337289382bbcea4f.tar.gz archangel-8eb7eb600bc9e709b6ee754a337289382bbcea4f.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 'custom/install-archzfs')
| -rwxr-xr-x | custom/install-archzfs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/custom/install-archzfs b/custom/install-archzfs index 7081a5b..567a213 100755 --- a/custom/install-archzfs +++ b/custom/install-archzfs @@ -1023,6 +1023,30 @@ configure_initramfs() { cp /mnt/etc/mkinitcpio.conf /mnt/etc/mkinitcpio.conf.bak + # CRITICAL: Remove archiso drop-in that overrides mkinitcpio.conf HOOKS + # The archiso.conf contains live ISO-specific hooks that are incompatible with ZFS + # If not removed, it overrides our HOOKS setting and breaks boot after kernel updates + if [[ -f /mnt/etc/mkinitcpio.conf.d/archiso.conf ]]; then + info "Removing archiso drop-in config..." + rm -f /mnt/etc/mkinitcpio.conf.d/archiso.conf + fi + + # CRITICAL: Fix linux-lts preset file + # The preset from archiso uses archiso-specific config that breaks mkinitcpio -P + info "Creating proper linux-lts preset..." + cat > /mnt/etc/mkinitcpio.d/linux-lts.preset << 'PRESET_EOF' +# mkinitcpio preset file for linux-lts + +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" +PRESET_EOF + # Check for AMD ISP (Image Signal Processor) firmware needs # ISP is used for camera processing on AMD APUs (Strix, Strix Halo, etc.) # The firmware must be in initramfs since amdgpu loads before root is mounted @@ -1043,9 +1067,11 @@ EOF fi # Configure hooks for ZFS + # - Use udev (not systemd): ZFS hook is busybox-based and incompatible with systemd init # - Remove autodetect: it filters modules based on live ISO hardware, not target # This ensures NVMe, AHCI, and other storage drivers are always included # - Remove fsck: ZFS doesn't use it, avoids confusing error messages + # - Add zfs: required for ZFS root boot sed -i 's/^HOOKS=.*/HOOKS=(base udev microcode modconf kms keyboard keymap consolefont block zfs filesystems)/' /mnt/etc/mkinitcpio.conf # Get the installed kernel version (not the running kernel) |
