The custom simplified hooks we were writing to the airootfs overlay
overwrote the official hooks shipped in the releng profile. The official
hooks handle uname -m for the aarch64 squashfs path, include all required
modules (squashfs, overlay, iso9660, loop, dm-snapshot, nls_*) and
binaries (blkid, findfs, losetup, switch_root), and wire up mount_handler
correctly. Our stripped-down hooks caused the overlay to mount empty,
producing the "Root device mounted successfully, but /sbin/init does not
exist" panic at boot.
Fix: stop overwriting the official hooks; keep only the mkinitcpio.conf
(which lists the hook names, not their implementation). Also remove
plymouth from initramfs HOOKS to reduce boot complexity.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>