Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0631c0530a | ||
|
|
ed710a3b41 |
No files matched your search
@@ -116,6 +116,19 @@ cp "/tmp/$NODE_FILENAME" "$build_cache_dir/airootfs/opt/packages/"
|
|||||||
arch_packages=(linux-t2 git gum jq openssl plymouth python-terminaltexteffects tzupdate omarchy-keyring "$OMARCHY_SETTINGS_PACKAGE" lvm2 cryptsetup parted)
|
arch_packages=(linux-t2 git gum jq openssl plymouth python-terminaltexteffects tzupdate omarchy-keyring "$OMARCHY_SETTINGS_PACKAGE" lvm2 cryptsetup parted)
|
||||||
printf '%s\n' "${arch_packages[@]}" >> "$build_cache_dir/packages.x86_64"
|
printf '%s\n' "${arch_packages[@]}" >> "$build_cache_dir/packages.x86_64"
|
||||||
|
|
||||||
|
# The live ISO boots linux-t2 (see airootfs/etc/mkinitcpio.d/linux-t2.preset), so
|
||||||
|
# stock linux is a second kernel nobody boots: ~147MB of ISO, plus its own archiso
|
||||||
|
# initramfs, copied into both the ISO tree and the size-constrained FAT EFI image.
|
||||||
|
#
|
||||||
|
# It cannot just be deleted — releng's broadcom-wl hard-depends on it, and it is
|
||||||
|
# the only releng package that does, so pacman would drag the kernel straight back
|
||||||
|
# in. broadcom-wl is a prebuilt module for stock linux and cannot load on the
|
||||||
|
# kernel we boot, so it has done nothing since we started booting T2 anyway. The
|
||||||
|
# install is entirely offline and the live environment needs no Wi-Fi driver.
|
||||||
|
#
|
||||||
|
# Anchored so linux-t2 and linux-firmware are untouched.
|
||||||
|
sed -i -E '/^(linux|broadcom-wl)$/d' "$build_cache_dir/packages.x86_64"
|
||||||
|
|
||||||
# Build the offline mirror: everything pacstrap might want during the target
|
# Build the offline mirror: everything pacstrap might want during the target
|
||||||
# install. With --local-source, the omarchy* packages we just built are
|
# install. With --local-source, the omarchy* packages we just built are
|
||||||
# already in the mirror and we filter them out below. Without it, pacman -Syw
|
# already in the mirror and we filter them out below. Without it, pacman -Syw
|
||||||
|
|||||||
@@ -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/<kver>/vmlinuz — so
|
||||||
|
# mkinitcpio's alpm hook sources /etc/mkinitcpio.d/<pkgbase>.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"
|
||||||
@@ -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"
|
|
||||||
|
|
||||||
@@ -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.
|
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`
|
### 7. Configurator — `configs/airootfs/root/configurator`
|
||||||
|
|
||||||
@@ -145,7 +145,7 @@ Code:
|
|||||||
- `configs/efiboot/loader/loader.conf` — per-arch default entry
|
- `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/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/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
|
- `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
|
- `.github/workflows/nightly-build.yml` — matrix x86_64/aarch64
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user