feat: add GNOME desktop-hypervisor dish for BIOS laptops

- storage/biosboot.ks: GPT disk label with a 2 MiB BIOS boot partition,
  no ESP (pure legacy layout); registered as the 'biosboot' storage choice
- recipe_templates.yaml: make the desktop hypervisor a superset of the
  base hypervisor so GNOME hypervisor dishes get libvirtd + virt-manager
- recipes_manifest.yaml: enable the desktop-hypervisor group targeting
  Fedora 44 (gnome, biosboot, grub, security enabled, gnome initial-setup,
  hardware-support, intelcpu)
- initial-setup/gnome/config.ks: apply the vendor.conf fix (truncate and
  append skip=privacy / providers=local-first!) as an enabled %post
- tests: update BASE_FRAGMENTS fixture to core-explicit.ks (follow-up to
  ccf4f9d)
This commit is contained in:
Lukas Greve
2026-09-12 10:31:39 +02:00
parent e74a88d133
commit fff901ef1a
5 changed files with 39 additions and 26 deletions
+13 -13
View File
@@ -10,16 +10,16 @@ gnome-initial-setup # Add GNOME initial setup too to let user create local accou
%end # End of the packages section %end # End of the packages section
# %post --nochroot --log=/mnt/sysimage/root/initial-setup-gnome.log # Beginning of %post section. Those commands are executed outside the chroot environment. Add logging. %post --nochroot --log=/mnt/sysimage/root/initial-setup-gnome.log # Beginning of %post section. Those commands are executed outside the chroot environment. Add logging.
#
# truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available
#
# ## Append lines to existing vendor.conf file, so that options are skipped upon reboot ## Append lines to existing vendor.conf file, so that options are skipped upon reboot
# cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF
# [pages] [pages]
# skip=privacy skip=privacy
# [goa] [goa]
# providers=local-first! providers=local-first!
# EOF EOF
#
# %end # End of the %post section %end # End of the %post section
+8
View File
@@ -0,0 +1,8 @@
# BIOS boot storage configuration (GPT disk label with a BIOS boot partition)
zerombr # Destroy all the contents of disks with invalid partition tables or other formatting unrecognizable to the installer
clearpart --all --initlabel --disklabel=gpt # Erase all partitions, initialize a GPT disk label, and initialize the disk label to the default for the target architecture
part biosboot --fstype="biosboot" --size=2 --label=biosboot # Creates a 2 MiB BIOS boot partition, required to install GRUB on a GPT-labelled disk under legacy BIOS firmware
part /boot --fstype="ext4" --size=2048 --label=boot # Creates a 2048 MiB ext4 boot partition
part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit" # Create a single root partition with the remaining space
+4
View File
@@ -35,6 +35,7 @@ choices:
storage: storage:
standard: storage/standard.ks standard: storage/standard.ks
encrypted: storage/encrypted.ks encrypted: storage/encrypted.ks
biosboot: storage/biosboot.ks
bootloader: bootloader:
grub: bootloader/grub.ks grub: bootloader/grub.ks
systemd-boot: bootloader/systemd-boot.ks systemd-boot: bootloader/systemd-boot.ks
@@ -60,6 +61,9 @@ features:
- hypervisor/base/services.ks - hypervisor/base/services.ks
- hypervisor/base/post-scripts.ks - hypervisor/base/post-scripts.ks
desktop: desktop:
- hypervisor/base/packages.ks
- hypervisor/base/services.ks
- hypervisor/base/post-scripts.ks
- packages/virtual-machine-manager/packages.ks - packages/virtual-machine-manager/packages.ks
- packages/virtual-machine-manager/post-scripts.ks - packages/virtual-machine-manager/post-scripts.ks
hypervisor_type: hypervisor_type:
+13 -12
View File
@@ -46,15 +46,16 @@ recipes:
guest-agents: false guest-agents: false
hypervisor: base hypervisor: base
hypervisor_type: intelcpu hypervisor_type: intelcpu
# # Desktop-hypervisor variants
# # Desktop-hypervisor variants - name: desktop-hypervisor
# - name: desktop-hypervisor variants:
# variants: - repository: "44"
# - repository: 43 desktop: gnome
# desktop: gnome storage: biosboot
# storage: standard bootloader: grub
# bootloader: grub security: enabled
# hardware-support: false initial-setup: gnome
# guest-agents: true hardware-support: true
# hypervisor: desktop guest-agents: false
# hypervisor_type: ["amdcpu", "intelcpu"] hypervisor: desktop
hypervisor_type: intelcpu
+1 -1
View File
@@ -20,7 +20,7 @@ BASE_FRAGMENTS = [
"core/locale.ks", "core/locale.ks",
"core/network.ks", "core/network.ks",
"core/services.ks", "core/services.ks",
"packages/core.ks", "packages/core-explicit.ks",
"packages/fedora-remix.ks", "packages/fedora-remix.ks",
"packages/hand-picked.ks", "packages/hand-picked.ks",
] ]