Diffstat (limited to 'components')
| -rw-r--r-- | components/boot.xml | 148 | ||||
| -rw-r--r-- | components/common.xml | 1 | ||||
| -rw-r--r-- | components/liveinstall.xml | 41 |
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"/> |