From 110564d26e88267b0a71d3c8204eb6752439166b Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 22 Jan 2026 15:13:13 -0600 Subject: Remove autodetect from mkinitcpio HOOKS documentation autodetect during chroot install detects live ISO hardware, not target machine. Could leave out NVMe/AHCI drivers. --- docs/2026-01-22-mkinitcpio-config-boot-failure.org | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/2026-01-22-mkinitcpio-config-boot-failure.org b/docs/2026-01-22-mkinitcpio-config-boot-failure.org index ba5bc72..3785bd7 100644 --- a/docs/2026-01-22-mkinitcpio-config-boot-failure.org +++ b/docs/2026-01-22-mkinitcpio-config-boot-failure.org @@ -23,9 +23,11 @@ This is wrong for ZFS because: Correct HOOKS for ZFS: #+begin_example -HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block zfs filesystems) +HOOKS=(base udev microcode modconf kms keyboard keymap consolefont block zfs filesystems) #+end_example +Note: =autodetect= is deliberately omitted. During installation from a live ISO, autodetect would detect the live ISO's hardware, not the target machine's hardware. This could result in missing NVMe, AHCI, or other storage drivers on the installed system. + ** Issue 2: Leftover archiso.conf drop-in The file =/etc/mkinitcpio.conf.d/archiso.conf= was left over from the live ISO: @@ -77,9 +79,9 @@ fallback_options="-S autodetect" The script needs to, after arch-chroot setup: -1. *Set correct mkinitcpio.conf HOOKS*: +1. *Set correct mkinitcpio.conf HOOKS* (no autodetect - see note above): #+begin_src bash - sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block zfs filesystems)/' /mnt/etc/mkinitcpio.conf + sed -i 's/^HOOKS=.*/HOOKS=(base udev microcode modconf kms keyboard keymap consolefont block zfs filesystems)/' /mnt/etc/mkinitcpio.conf #+end_src 2. *Remove archiso drop-in*: @@ -118,8 +120,8 @@ zpool import -f zroot zfs mount zroot/ROOT/default mount /dev/nvme0n1p1 /boot # adjust device as needed -# Fix mkinitcpio.conf -sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block zfs filesystems)/' /etc/mkinitcpio.conf +# Fix mkinitcpio.conf (no autodetect - detects live ISO hardware, not target) +sed -i 's/^HOOKS=.*/HOOKS=(base udev microcode modconf kms keyboard keymap consolefont block zfs filesystems)/' /etc/mkinitcpio.conf # Remove archiso drop-in rm -f /etc/mkinitcpio.conf.d/archiso.conf -- cgit v1.2.3