From 698c7679bee5072b20eda28ea126894b40ff214b Mon Sep 17 00:00:00 2001 From: Lukas Greve Date: Thu, 10 Sep 2026 13:14:03 +0200 Subject: [PATCH] feat: enable Fedora 44 hypervisor recipe with systemd-boot - uncomment the hypervisor recipe, targeting Fedora 44 with systemd-boot, hardware-support and the intelcpu variant - make intelcpu.ks bootloader-aware: with systemd-boot kernel arguments must go to /etc/kernel/cmdline, not /etc/default/grub --- cook/ingredients/hypervisor/intelcpu.ks | 6 +++++- cook/recipes_manifest.yaml | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/cook/ingredients/hypervisor/intelcpu.ks b/cook/ingredients/hypervisor/intelcpu.ks index cf6ed0f..9790b0a 100644 --- a/cook/ingredients/hypervisor/intelcpu.ks +++ b/cook/ingredients/hypervisor/intelcpu.ks @@ -2,7 +2,11 @@ %post --nochroot --log=/mnt/sysimage/root/hypervisor-intelcpu-post.log # Beginning of %post section. Those commands are executed outside the chroot environment. Logging is enabled to help with post-installation troubleshooting -sed -i 's/\(quiet\)/\1 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB. +if [ -f /mnt/sysimage/etc/kernel/cmdline ]; then # systemd-boot: kernel arguments live in /etc/kernel/cmdline + grep -q "intel_iommu=on" /mnt/sysimage/etc/kernel/cmdline || sed -i 's/$/ intel_iommu=on iommu=pt rd.driver.pre=vfio-pci/' /mnt/sysimage/etc/kernel/cmdline # Append IOMMU arguments once +else # GRUB: kernel arguments live in /etc/default/grub + sed -i 's/\(quiet\)/\1 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB. +fi echo "options kvm_intel nested=1" >> /mnt/sysimage/etc/modprobe.d/kvm.conf # Add support for nested virtualization on Intel CPUs diff --git a/cook/recipes_manifest.yaml b/cook/recipes_manifest.yaml index b5c634d..945eb91 100644 --- a/cook/recipes_manifest.yaml +++ b/cook/recipes_manifest.yaml @@ -36,16 +36,16 @@ recipes: guest-agents: true initial-setup: server -# # Hypervisor variants -# - name: hypervisor -# variants: -# - repository: 43 -# storage: standard -# bootloader: grub -# hardware-support: true -# guest-agents: false -# hypervisor: base -# hypervisor_type: ["amdcpu", "intelcpu"] + # Hypervisor variants + - name: hypervisor + variants: + - repository: ["44"] + storage: standard + bootloader: systemd-boot + hardware-support: true + guest-agents: false + hypervisor: base + hypervisor_type: intelcpu # # # Desktop-hypervisor variants # - name: desktop-hypervisor