aboutsummaryrefslogtreecommitdiff
path: root/custom/install-archzfs
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-18 20:46:34 -0600
committerCraig Jennings <c@cjennings.net>2026-01-18 20:46:34 -0600
commitfa0dc5fd6321d0c1009da243ebf4e03e5f8d5f29 (patch)
treec517bcd518c4fc43eaa91beaa2ca6d13ecc2d4eb /custom/install-archzfs
parent1590792a4f360ff41cf5224461ee5ff3554d00dd (diff)
downloadarchangel-fa0dc5fd6321d0c1009da243ebf4e03e5f8d5f29.tar.gz
archangel-fa0dc5fd6321d0c1009da243ebf4e03e5f8d5f29.zip
Remove autodetect hook from mkinitcpio for bare metal compatibility
The autodetect hook filters modules based on currently loaded hardware, which when running from a live ISO means the target system's storage drivers (NVMe, AHCI, etc.) may not be included in the initramfs. This caused boot failures on bare metal with "Timed out waiting for device /dev/disk/by-uuid" because the disk controller wasn't detected. Removing autodetect includes all storage drivers, making the initramfs larger but ensuring compatibility with any hardware configuration.
Diffstat (limited to 'custom/install-archzfs')
-rwxr-xr-xcustom/install-archzfs6
1 files changed, 4 insertions, 2 deletions
diff --git a/custom/install-archzfs b/custom/install-archzfs
index 3ce29b3..509b761 100755
--- a/custom/install-archzfs
+++ b/custom/install-archzfs
@@ -1001,8 +1001,10 @@ configure_initramfs() {
cp /mnt/etc/mkinitcpio.conf /mnt/etc/mkinitcpio.conf.bak
# Configure hooks for ZFS
- # ZFS doesn't use fsck - remove it to avoid confusing error messages
- sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block zfs filesystems)/' /mnt/etc/mkinitcpio.conf
+ # - 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
+ 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)
local kernel_ver