aboutsummaryrefslogtreecommitdiffci
path: root/components
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/boot.xml148
-rw-r--r--components/common.xml1
-rw-r--r--components/liveinstall.xml41
3 files changed, 60 insertions, 130 deletions
diff --git a/components/boot.xml b/components/boot.xml
index a46e723..11b48a5 100644
--- a/components/boot.xml
+++ b/components/boot.xml
@@ -9,7 +9,12 @@
<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"
@@ -27,99 +32,57 @@
</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,BootCoreLive">
<package name="grubby"/>
</packages>
<packages type="image" patternType="plusRecommended" profiles="BootCore,BootCoreLive">
- <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-ia32" arch="x86_64"/>
- <package name="shim-signed-x64" arch="x86_64"/>
- <package name="shim-unsigned-riscv64" arch="riscv64"/>
+ <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>
- <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-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*"/>
- <!-- Use kernel-uki-dtbloader for aarch64 -->
- <package name="kernel-core" arch="x86_64,riscv64,ppc64le,s390x"/>
- <package name="kernel-uki-dtbloader" arch="aarch64"/>
+ <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-ia32" arch="x86_64"/>
- <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"/>
@@ -127,21 +90,16 @@
<package name="uki-direct"/>
</packages>
<packages type="iso" patternType="plusRecommended" profiles="BootCore,BootCoreLive">
- <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"/>
+ <package name="grub2-efi-aa64-cdboot"/>
</packages>
<packages type="image" patternType="plusRecommended" profiles="BootDiskCore">
- <ignore name="kernel-*debug*"/>
- <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>
diff --git a/components/common.xml b/components/common.xml
index dc1f34c..506cf73 100644
--- a/components/common.xml
+++ b/components/common.xml
@@ -9,6 +9,5 @@
</packages>
<packages type="image" patternType="plusRecommended" profiles="HardwareCommon">
<namedCollection name="hardware-support"/>
- <package name="bcm283x-firmware" arch="aarch64"/>
</packages>
</image>
diff --git a/components/liveinstall.xml b/components/liveinstall.xml
index c324769..6b683b2 100644
--- a/components/liveinstall.xml
+++ b/components/liveinstall.xml
@@ -5,46 +5,18 @@
<requires profile="BootCoreLive"/>
</profile>
</profiles>
- <preferences profiles="LiveInstall" arch="x86_64">
- <type image="iso"
- publisher="Fedora Project" volid="Fedora_Linux" application_id="Fedora_Linux"
- primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true"
- firmware="uefi" efiparttable="gpt" efifatimagesize="30" kernelcmdline="quiet rhgb"
- fscreateoptions="-Efragments -C 1048576"
- >
- <bootloader name="grub2" grub_template="grub-x86.cfg.iso-template" console="console" timeout="10"/>
- </type>
- </preferences>
<preferences profiles="LiveInstall" arch="aarch64">
<type image="iso"
publisher="Fedora Project" volid="Fedora_Linux" application_id="Fedora_Linux"
primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true"
- firmware="uefi" efiparttable="gpt" efifatimagesize="30" kernelcmdline="quiet rhgb"
+ 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>
</preferences>
- <preferences profiles="LiveInstall" arch="riscv64">
- <type image="iso"
- publisher="Fedora Project" volid="Fedora_Linux" application_id="Fedora_Linux"
- primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true"
- firmware="uefi" efiparttable="gpt" efifatimagesize="30" kernelcmdline="quiet rhgb"
- fscreateoptions="-Efragments -C 1048576"
- >
- <bootloader name="grub2" grub_template="grub-riscv64.cfg.iso-template" console="console" timeout="10"/>
- </type>
- </preferences>
- <preferences profiles="LiveInstall" arch="ppc64le">
- <type image="iso"
- publisher="Fedora Project" volid="Fedora_Linux" application_id="Fedora_Linux"
- primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true"
- firmware="ofw" kernelcmdline="quiet rhgb"
- fscreateoptions="-Efragments -C 1048576"
- >
- <bootloader name="grub2" grub_template="grub-ppc.cfg.iso-template" console="console" timeout="10"/>
- </type>
- </preferences>
<packages type="iso" patternType="plusRecommended" profiles="LiveInstall">
<!-- Filter out unwanted EFI files from the embedded ESP, see rhbz#2358785 -->
<file name="iso-esp-excludes.yaml" target="image/exclude_files_efifatimage.yaml"/>
@@ -57,9 +29,10 @@
<package name="dracut-live"/>
<package name="glibc-all-langpacks"/>
<package name="isomd5sum"/>
- <package name="kernel"/>
- <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"/>