aboutsummaryrefslogtreecommitdiffci
path: root/components/boot.xml
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'components/boot.xml')
-rw-r--r--components/boot.xml147
1 files changed, 59 insertions, 88 deletions
diff --git a/components/boot.xml b/components/boot.xml
index bea9703..11b48a5 100644
--- a/components/boot.xml
+++ b/components/boot.xml
@@ -2,13 +2,19 @@
<profiles>
<profile name="BootCore" description="Boot core packages"/>
<profile name="BootCoreUKI" description="Boot core packages for UKI"/>
+ <profile name="BootCoreLive" description="Boot core packages for Live DVDs"/>
<profile name="BootDiskCore" description="Boot disk core configuration">
<requires profile="BaseCommon"/>
<requires profile="HardwareCommon"/>
<requires profile="BootCore"/>
</profile>
</profiles>
- <preferences profiles="BootDiskCore" arch="x86_64,riscv64">
+ <!-- Surface Pro 12" (Snapdragon X1P-42-100) is a standard UEFI/GPT aarch64
+ device, no force_mbr/disk_start_sector/editbootinstall RPi-legacy
+ quirks needed, those are for boards whose own firmware boot stage
+ requires an MBR + specific boot sector offset before handing off to
+ grub. -->
+ <preferences profiles="BootDiskCore" arch="aarch64">
<type image="oem"
filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="x-systemd.growfs,compress=zstd:1"
kernelcmdline="rhgb quiet" devicepersistency="by-uuid"
@@ -26,109 +32,74 @@
</oemconfig>
</type>
</preferences>
- <preferences profiles="BootDiskCore" arch="aarch64">
- <type image="oem"
- filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="x-systemd.growfs,compress=zstd:1"
- kernelcmdline="rhgb quiet" devicepersistency="by-uuid" force_mbr="true" editbootinstall="editbootinstall_rpilegacy.sh"
- bootpartition="true" bootpartsize="2000" bootfilesystem="ext4" efipartsize="500" disk_start_sector="34816" firmware="uefi"
- rootfs_label="fedora"
- >
- <bootloader name="grub2" bls="true" console="console" timeout="5"/>
- <systemdisk name="fedora">
- <volume name="@root=root"/>
- <volume name="home" parent="/"/>
- <volume name="var" parent="/"/>
- </systemdisk>
- <oemconfig>
- <oem-resize>false</oem-resize>
- </oemconfig>
- </type>
- </preferences>
- <preferences profiles="BootDiskCore" arch="ppc64le">
- <type image="oem"
- filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="x-systemd.growfs,compress=zstd:1"
- kernelcmdline="rhgb quiet" devicepersistency="by-uuid"
- bootpartition="true" bootpartsize="2000" bootfilesystem="ext4" firmware="ofw"
- rootfs_label="fedora"
- >
- <bootloader name="grub2" bls="true" console="console" timeout="5"/>
- <systemdisk>
- <volume name="@root=root"/>
- <volume name="home" parent="/"/>
- <volume name="var" parent="/"/>
- </systemdisk>
- <oemconfig>
- <oem-resize>false</oem-resize>
- </oemconfig>
- </type>
- </preferences>
- <preferences profiles="BootDiskCore" arch="s390x">
- <type image="oem"
- filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="x-systemd.growfs,compress=zstd:1"
- kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8"
- devicepersistency="by-uuid"
- bootpartition="true" bootpartsize="2000" bootfilesystem="ext4"
- rootfs_label="fedora"
- >
- <bootloader name="zipl" timeout="1"/>
- <systemdisk>
- <volume name="@root=root"/>
- <volume name="home" parent="/"/>
- <volume name="var" parent="/"/>
- </systemdisk>
- <oemconfig>
- <oem-resize>false</oem-resize>
- </oemconfig>
- </type>
- </preferences>
- <packages type="bootstrap" patternType="plusRecommended" profiles="BootCore,BootCoreUKI">
+ <packages type="bootstrap" patternType="plusRecommended" profiles="BootCore,BootCoreUKI,BootCoreLive">
<package name="grubby"/>
</packages>
- <packages type="image" patternType="plusRecommended" profiles="BootCore">
- <package name="grub2-efi-aa64" arch="aarch64"/>
- <package name="grub2-efi-aa64-modules" arch="aarch64"/>
- <package name="grub2-efi-riscv64" arch="riscv64"/>
- <package name="grub2-efi-riscv64-modules" arch="riscv64"/>
- <package name="grub2-efi-ia32" arch="x86_64"/>
- <package name="grub2-efi-ia32-modules" arch="x86_64"/>
- <package name="grub2-efi-x64" arch="x86_64"/>
- <package name="grub2-efi-x64-modules" arch="x86_64"/>
- <package name="grub2-pc" arch="x86_64"/>
- <package name="grub2-pc-modules" arch="x86_64"/>
- <package name="grub2-ppc64le" arch="ppc64le"/>
- <package name="s390utils-base" arch="s390x"/>
- <package name="shim-signed-aa64" arch="aarch64"/>
- <package name="shim-signed-x64" arch="x86_64"/>
- <package name="shim-unsigned-riscv64" arch="riscv64"/>
- <package name="kernel-core"/>
+ <packages type="image" patternType="plusRecommended" profiles="BootCore,BootCoreLive">
+ <package name="grub2-efi-aa64"/>
+ <package name="grub2-efi-aa64-modules"/>
+ <package name="shim-signed-aa64"/>
<package name="systemd-oomd-defaults"/>
<package name="systemd-resolved"/>
</packages>
+ <!-- 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-sp12in.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*"/>
+ <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" arch="aarch64"/>
- <package name="shim-signed-x64" arch="x86_64"/>
- <package name="shim-unsigned-riscv64" arch="riscv64"/>
+ <package name="shim-signed-aa64"/>
<package name="systemd-oomd-defaults"/>
<package name="systemd-resolved"/>
<package name="kernel-uki-virt"/>
<package name="python3-virt-firmware"/>
<package name="uki-direct"/>
</packages>
- <packages type="iso" patternType="plusRecommended" profiles="BootCore">
- <package name="grub2-efi-aa64-cdboot" arch="aarch64"/>
- <package name="grub2-efi-riscv64-cdboot" arch="riscv64"/>
- <package name="grub2-efi-ia32-cdboot" arch="x86_64"/>
- <package name="grub2-efi-x64-cdboot" arch="x86_64"/>
+ <packages type="iso" patternType="plusRecommended" profiles="BootCore,BootCoreLive">
+ <package name="grub2-efi-aa64-cdboot"/>
</packages>
<packages type="image" patternType="plusRecommended" profiles="BootDiskCore">
- <package name="arm-image-installer" arch="aarch64"/>
<package name="glibc-all-langpacks"/>
- <package name="kernel"/>
- <package name="kernel-modules"/>
- <package name="kernel-modules-extra"/>
+ <!-- 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="btrfs-progs"/>
<package name="udisks2-btrfs"/>
- <package name="uboot-images-armv8" arch="aarch64"/>
- <package name="uboot-images-riscv64" arch="riscv64"/>
</packages>
</image>