diff --git a/configs/airootfs/etc/mkinitcpio.d/linux-t2.preset b/configs/airootfs/etc/mkinitcpio.d/linux-t2.preset new file mode 100644 index 0000000..2fbeecd --- /dev/null +++ b/configs/airootfs/etc/mkinitcpio.d/linux-t2.preset @@ -0,0 +1,18 @@ +# mkinitcpio preset file for the 'linux-t2' package on archiso +# +# The filename is the pkgbase, and that is load-bearing. Kernel packages ship +# nothing in /boot — they only install usr/lib/modules//vmlinuz — so +# mkinitcpio's alpm hook sources /etc/mkinitcpio.d/.preset and copies +# THAT package's kernel to whatever ALL_kver names (is_kernelcopy in +# /usr/share/libalpm/scripts/mkinitcpio). Named linux.preset, this pointed the +# stock kernel at the T2 filenames, so the ISO booted stock Arch while every +# boot entry said linux-t2 and T2 Macs got no keyboard or trackpad. +# +# releng ships its own linux.preset for the stock kernel; leave it alone. + +PRESETS=('archiso') + +ALL_kver='/boot/vmlinuz-linux-t2' +archiso_config='/etc/mkinitcpio.conf.d/archiso.conf' + +archiso_image="/boot/initramfs-linux-t2.img" diff --git a/configs/airootfs/etc/mkinitcpio.d/linux.preset b/configs/airootfs/etc/mkinitcpio.d/linux.preset deleted file mode 100644 index c40726e..0000000 --- a/configs/airootfs/etc/mkinitcpio.d/linux.preset +++ /dev/null @@ -1,9 +0,0 @@ -# mkinitcpio preset file for the 'linux' package on archiso - -PRESETS=('archiso') - -ALL_kver='/boot/vmlinuz-linux-t2' -archiso_config='/etc/mkinitcpio.conf.d/archiso.conf' - -archiso_image="/boot/initramfs-linux-t2.img" - diff --git a/plans/aarch64-support.md b/plans/aarch64-support.md index cfa3455..305531f 100644 --- a/plans/aarch64-support.md +++ b/plans/aarch64-support.md @@ -76,9 +76,9 @@ aarch64 has no BIOS — only UEFI. Drop the syslinux path entirely on ARM. The cleanest cut: keep one `grub.cfg` shared, strip the x86 shell/memtest fragments at build time when `OMARCHY_ARCH=aarch64`. Don't fork the file. -### 6. mkinitcpio preset — `configs/airootfs/etc/mkinitcpio.d/linux.preset` +### 6. mkinitcpio preset — `configs/airootfs/etc/mkinitcpio.d/linux-t2.preset` -References `vmlinuz-linux-t2` and `initramfs-linux-t2.img` (lines 5, 8). For aarch64, swap to `vmlinuz-linux` / `initramfs-linux.img`. Generate the file at build time from a template, keyed on arch. +Names `vmlinuz-linux-t2` and `initramfs-linux-t2.img`. The filename is the pkgbase and the alpm hook keys off it, so aarch64 does not rename this file — it simply does not ship it, and releng's own `linux.preset` covers the stock kernel. Drop `linux-t2` from `arch_packages` on aarch64 and the boot entries point at `vmlinuz-linux` / `initramfs-linux.img`. ### 7. Configurator — `configs/airootfs/root/configurator` @@ -145,7 +145,7 @@ Code: - `configs/efiboot/loader/loader.conf` — per-arch default entry - `configs/efiboot/loader/entries/01-archiso-x86_64-linux.conf` — generate aarch64 sibling at build time - `configs/grub/grub.cfg`, `loopback.cfg` — strip x86-only fragments on aarch64 -- `configs/airootfs/etc/mkinitcpio.d/linux.preset` — template by arch (drop linux-t2 on aarch64) +- `configs/airootfs/etc/mkinitcpio.d/linux-t2.preset` — omit on aarch64 (drop linux-t2 there; releng's linux.preset covers the stock kernel) - `configs/airootfs/root/configurator` — branch archinstall JSON mirror list on `uname -m`; optionally guard lspci T2 probe - `.github/workflows/nightly-build.yml` — matrix x86_64/aarch64