From 6b20163c9222061fc0d2b76c84f5ca567d353b3e Mon Sep 17 00:00:00 2001 From: Breadway Date: Sun, 14 Jun 2026 02:55:53 +0800 Subject: [PATCH] Add archiso initramfs hooks so the live ISO can switch root The profile shipped boot configs and the package list but lacked the mkinitcpio archiso configuration, so mkarchiso built a stock initramfs with no archiso hook. At boot the kernel honoured archisosearchuuid/ archisobasedir but nothing knew how to find and mount airootfs.sfs, so switch-root failed and the live medium dropped to emergency mode. Add the canonical releng pieces: - airootfs/etc/mkinitcpio.conf.d/archiso.conf (HOOKS incl. archiso) - airootfs/etc/mkinitcpio.d/linux.preset (builds initramfs-linux.img) - mkinitcpio{,-archiso,-nfs-utils} in packages.x86_64 --- iso/airootfs/etc/mkinitcpio.conf.d/archiso.conf | 3 +++ iso/airootfs/etc/mkinitcpio.d/linux.preset | 8 ++++++++ iso/packages.x86_64 | 6 ++++++ 3 files changed, 17 insertions(+) create mode 100644 iso/airootfs/etc/mkinitcpio.conf.d/archiso.conf create mode 100644 iso/airootfs/etc/mkinitcpio.d/linux.preset diff --git a/iso/airootfs/etc/mkinitcpio.conf.d/archiso.conf b/iso/airootfs/etc/mkinitcpio.conf.d/archiso.conf new file mode 100644 index 0000000..5c008e5 --- /dev/null +++ b/iso/airootfs/etc/mkinitcpio.conf.d/archiso.conf @@ -0,0 +1,3 @@ +HOOKS=(base udev microcode modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard) +COMPRESSION="xz" +COMPRESSION_OPTIONS=(-9e) diff --git a/iso/airootfs/etc/mkinitcpio.d/linux.preset b/iso/airootfs/etc/mkinitcpio.d/linux.preset new file mode 100644 index 0000000..8e85205 --- /dev/null +++ b/iso/airootfs/etc/mkinitcpio.d/linux.preset @@ -0,0 +1,8 @@ +# mkinitcpio preset file for the 'linux' package on archiso + +PRESETS=('archiso') + +ALL_kver='/boot/vmlinuz-linux' +archiso_config='/etc/mkinitcpio.conf.d/archiso.conf' + +archiso_image="/boot/initramfs-linux.img" diff --git a/iso/packages.x86_64 b/iso/packages.x86_64 index 64eb299..ac35b01 100644 --- a/iso/packages.x86_64 +++ b/iso/packages.x86_64 @@ -12,6 +12,12 @@ btrfs-progs dosfstools mtools # Live-ISO boot (archiso bootmodes: bios.syslinux + uefi.systemd-boot) +# mkinitcpio-archiso provides the initramfs hooks that find and mount +# airootfs.sfs and switch root into it — without it the live ISO drops +# to emergency mode on boot. +mkinitcpio +mkinitcpio-archiso +mkinitcpio-nfs-utils syslinux memtest86+ memtest86+-efi