From 0631c0530a383c9203cbfba99f640babd6344f92 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 27 Jul 2026 22:25:50 -0700 Subject: [PATCH] Stop shipping a second kernel nobody boots MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The live ISO boots one kernel for every machine, and after the preceding commit that kernel is linux-t2. Stock linux is then a second kernel nobody boots, plus its own archiso initramfs, copied into both the ISO tree and the size-constrained FAT EFI image — about 147MB. It could not simply be deleted: releng's broadcom-wl hard-depends on linux and is the only releng package that does, so pacman would pull the kernel back in. broadcom-wl is a prebuilt module for stock linux and cannot load on linux-t2. It has kept working until now only because of the bug the preceding commit fixes — the ISO has been booting stock all along — so it is booting T2 that takes it away, not this commit. Dropping the package only stops shipping something that can no longer load. Nothing in the offline install needs Wi-Fi in the live environment. Both packages stay in the offline mirror and this changes nothing about installed systems: linux comes from builder/archinstall.packages and remains what configurator's detect_kernel picks for every machine that is not a T2 Mac, and broadcom-wl comes from omarchy-other.packages, so install/hardware/ fix-bcm43xx.sh can still install it offline on BCM4360/BCM4331 MacBooks. The removal is anchored so linux-t2, linux-firmware, linux-firmware-marvell and linux-atm are untouched; verified against releng's real list. Co-Authored-By: Claude Opus 5 (1M context) --- builder/build-iso.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/builder/build-iso.sh b/builder/build-iso.sh index 57a339c..852768d 100755 --- a/builder/build-iso.sh +++ b/builder/build-iso.sh @@ -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) 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 # 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