aboutsummaryrefslogtreecommitdiffci
path: root/components
diff options
from:
to:
context:
space:
mode:
authorGravatar Saya Andy <saya.andy@posteo.com> 2026-09-07 04:50:59 +0700
committerGravatar Saya Andy <saya.andy@posteo.com> 2026-09-07 04:50:59 +0700
commit49428abac50976f943806aa2b116597328148ddc (patch)
treee0d8a2d5fb1aa758738551345fd3c8c6d0d67fb3 /components
parent1075e725492e482d826bfcf222e6f2f6644f5d4b (diff)
downloadkiwi-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.xml59
-rw-r--r--components/liveinstall.xml11
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"/>