diff options
| author | 2026-09-07 04:50:59 +0700 | |
|---|---|---|
| committer | 2026-09-07 04:50:59 +0700 | |
| commit | 49428abac50976f943806aa2b116597328148ddc (patch) | |
| tree | e0d8a2d5fb1aa758738551345fd3c8c6d0d67fb3 /components | |
| parent | 1075e725492e482d826bfcf222e6f2f6644f5d4b (diff) | |
| download | kiwi-descriptions-49428abac50976f943806aa2b116597328148ddc.tar.gz kiwi-descriptions-49428abac50976f943806aa2b116597328148ddc.zip | |
DRAFT: feat: use kernel tailored for surface pro 12-inch
Diffstat (limited to 'components')
| -rw-r--r-- | components/boot.xml | 59 | ||||
| -rw-r--r-- | components/liveinstall.xml | 11 |
2 files changed, 46 insertions, 24 deletions
diff --git a/components/boot.xml b/components/boot.xml index 816bb91..36d8ffa 100644 --- a/components/boot.xml +++ b/components/boot.xml @@ -42,17 +42,44 @@ <package name="systemd-oomd-defaults"/> <package name="systemd-resolved"/> </packages> - <packages type="image" patternType="plusRecommended" profiles="BootCore"> - <ignore name="kernel-*debug*"/> - <package name="kernel-core"/> - </packages> - <packages type="image" patternType="plusRecommended" profiles="BootCoreLive"> + <!-- Surface Pro 12" (Snapdragon X1P-42-100) kernel selection. One block for + every profile that needs a kernel: BootCore, BootCoreLive, and + BootDiskCore through its <requires profile="BootCore"/> above. + + kernel-surface is vanilla upstream plus the miasvanklei overlay's patch + set for this board (device tree, SAM RTC, SAM suspend workaround, + CAMSS/CSI-2, remoteproc attach, clk/PCI/irqchip fixes). It is built from + the sibling ../kernel-surface checkout and comes from the repository + repositories/kernel-surface.xml adds. + + It is a single package (kernel image, every module, device trees) and + Provides kernel, kernel-core, kernel-modules, kernel-modules-core and + kernel-modules-extra, so anything with a plain Requires on one of those + resolves against it. That is why no -modules/-modules-extra entry is + needed in any profile any more. + + Fedora's split kernel packages are ignored by name instead, so dnf can + never drag one in as a dependency. kernel-uki-dtbloader is ignored as + well: kernel-surface Conflicts it, so without the exclusion any package + pulling it in would fail the depsolve instead of just losing it. It + bakes in ~3000 boards' dtbs (.dtbauto sections), does not carry this + board, and is a hard Requires of the plain "kernel" metapackage on + aarch64, which makes that metapackage uninstallable here too, since it + is also the only thing that could satisfy kernel-core by name. + + Consequence for the profiles this fork does not target: the ones that + still ask for a Fedora kernel by name through BootCore, namely + Server-Host-Generic (kernel) and Cloud-Base-Azure (kernel-modules), + cannot depsolve. Everything this device builds (Live via BootCoreLive, + disk via BootDiskCore) takes its kernel from here. --> + <packages type="image" patternType="plusRecommended" profiles="BootCore,BootCoreLive"> <ignore name="kernel-*debug*"/> - <!-- Surface Pro 12": kernel-uki-dtbloader bakes in ~3000 boards' dtbs - (.dtbauto sections) and hard-conflicts with kernel-core. This board - isn't in its dtb database anyway (dtb delivered separately via - grub's devicetree directive), so plain kernel-core is enough. --> - <package name="kernel-core"/> + <ignore name="kernel-core"/> + <ignore name="kernel-modules"/> + <ignore name="kernel-modules-core"/> + <ignore name="kernel-modules-extra"/> + <ignore name="kernel-uki-dtbloader"/> + <package name="kernel-surface"/> </packages> <packages type="image" patternType="plusRecommended" profiles="BootCoreUKI"> <package name="shim-signed-aa64"/> @@ -66,16 +93,12 @@ <package name="grub2-efi-aa64-cdboot"/> </packages> <packages type="image" patternType="plusRecommended" profiles="BootDiskCore"> - <ignore name="kernel-*debug*"/> <package name="glibc-all-langpacks"/> - <!-- Surface Pro 12": kernel-core, not kernel-uki-dtbloader's multi-board - dtb bloat, same reasoning as BootCoreLive above. arm-image-installer - and uboot-images-armv8 dropped too, they exist for flashing/booting - other ARM SBCs (device-tree selection, U-Boot), not relevant to this + <!-- Surface Pro 12": the kernel comes from the shared BootCore block + above, which this profile requires. arm-image-installer and + uboot-images-armv8 dropped, they exist for flashing/booting other + ARM SBCs (device-tree selection, U-Boot), not relevant to this single UEFI/GPT device. --> - <package name="kernel-core"/> - <package name="kernel-modules"/> - <package name="kernel-modules-extra"/> <package name="btrfs-progs"/> <package name="udisks2-btrfs"/> </packages> diff --git a/components/liveinstall.xml b/components/liveinstall.xml index c04ca7f..6b683b2 100644 --- a/components/liveinstall.xml +++ b/components/liveinstall.xml @@ -12,6 +12,7 @@ firmware="efi" efiparttable="gpt" efifatimagesize="30" kernelcmdline="quiet rhgb mem_sleep_default=s2idle clk_ignore_unused pd_ignore_unused systemd.tpm2_wait=0 rd.live.ram=1" fscreateoptions="-Efragments -C 1048576" + editbootconfig="surface-editbootconfig.sh" > <bootloader name="grub2" grub_template="grub-arm.cfg.iso-template" console="console" timeout="10"/> </type> @@ -28,12 +29,10 @@ <package name="dracut-live"/> <package name="glibc-all-langpacks"/> <package name="isomd5sum"/> - <!-- Surface Pro 12": no plain "kernel" package here, it hard-Requires - kernel-uki-dtbloader on aarch64, which conflicts with BootCoreLive's - kernel-core. grub2's ISO kernel lookup just needs a vmlinuz in /boot, - which kernel-core (already installed there) already provides. --> - <package name="kernel-modules"/> - <package name="kernel-modules-extra"/> + <!-- Surface Pro 12": no kernel package here at all. BootCoreLive's + kernel-surface already carries every module, and its %posttrans + kernel-install leaves the /boot vmlinuz that grub2's ISO kernel + lookup needs. See the kernel block in components/boot.xml. --> <package name="livesys-scripts"/> <package name="btrfs-progs"/> <package name="udisks2-btrfs"/> |