platforms/cloud: add Cloud-Base-UEFI-UKI profile

This is a variation of Cloud-Base-Generic which boots using UKIs.

This also adds uki-editbootconfig.sh script which makes the
image bootable via "UEFI firmware -> shim.efi -> UKI.efi".

Some background information:
https://fedoraproject.org/wiki/Changes/Unified_Kernel_Support_Phase_2

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Gerd Hoffmann
2024-01-25 15:06:58 +01:00
parent 573870b3a4
commit 1de547fc3d
3 changed files with 103 additions and 0 deletions
+43
View File
@@ -3,6 +3,9 @@
<profile name="CloudCore" description="Cloud spin core packages">
<requires profile="BootCore"/>
</profile>
<profile name="CloudCoreUKI" description="Cloud spin core packages for UKI">
<requires profile="BootCoreUKI"/>
</profile>
<profile name="Cloud-Base-Azure" description="Azure Base Guest Image">
<requires profile="CloudCore"/>
</profile>
@@ -15,6 +18,9 @@
<profile name="Cloud-Base-Generic" description="Generic Base Guest Image">
<requires profile="CloudCore"/>
</profile>
<profile name="Cloud-Base-UEFI-UKI" description="UEFI Base Guest Image using UKIs">
<requires profile="CloudCoreUKI"/>
</profile>
<profile name="Cloud-Base-OpenStack" description="OpenStack Base Guest Image">
<requires profile="Cloud-Base-Generic"/>
</profile>
@@ -78,6 +84,28 @@
</oemconfig>
</type>
</preferences>
<preferences profiles="Cloud-Base-UEFI-UKI">
<type image="oem" format="qcow2"
firmware="uefi" efipartsize="1000"
bootpartition="false"
filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="true"
devicepersistency="by-uuid"
rootfs_label="fedora"
initrd_system="none"
editbootconfig="uki-editbootconfig.sh"
>
<bootloader name="custom"/>
<size unit="G">5</size>
<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="image" patternType="plusRecommended" profiles="CloudCore">
<namedCollection name="cloud-server-environment"/>
<ignore name="dracut-config-rescue"/>
@@ -90,6 +118,18 @@
<package name="python3-dnf-plugin-tracer"/>
<package name="glibc-langpack-en"/>
</packages>
<packages type="image" patternType="plusRecommended" profiles="CloudCoreUKI">
<namedCollection name="cloud-server-environment"/>
<ignore name="dracut-config-rescue"/>
<ignore name="firewalld"/>
<ignore name="kernel"/>
<ignore name="[a-oq-z]*-firmware"/>
<ignore name="geolite2-city"/>
<ignore name="geolite2-country"/>
<ignore name="plymouth"/>
<package name="python3-dnf-plugin-tracer"/>
<package name="glibc-langpack-en"/>
</packages>
<packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Azure">
<package name="WALinuxAgent"/>
</packages>
@@ -101,6 +141,9 @@
<packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Generic">
<package name="qemu-guest-agent"/>
</packages>
<packages type="image" patternType="plusRecommended" profiles="Cloud-Base-UEFI-UKI">
<package name="qemu-guest-agent"/>
</packages>
<packages type="uninstall" profiles="Cloud-Base-GCE">
<package name="cloud-init"/>
</packages>