GNU nano 5.8                                                                                                                                            remote-vhimd.cfg                                                                                                                                                      
#            __          ____                        ____  _____
#     ____  / /_  __  __/ / /___  ____ ___  ___     / __ \/ ___/
#    / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \   / / / /\__ \
#   / /_/ / / / / /_/ / / / /_/ / / / / / /  __/  / /_/ /___/ /
#  / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/   \____//____/
# /_/          /____/

# What ? This Kickstart file bootstraps a minimal headless hypervisor optimized for Intel CPUs and Intel Graphics.
# 'v' for virtual machine, 'h' for hypervisor', 'i' for intel, 'm' for minimal, 'd' for development only.

# ATTENTION : this kickstart file will automatically DESTROY the main virtual disk 'vda' and all of its contents. 
# Bye bye!

%include vhmd.cfg # Includes vhmd.cfg, a hypervisor. 

%post # Beginning of %post section

sed -i 's/\(quiet\)/\1 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci i915.enable_gvt=1/i' /etc/default/grub # Load kernel modules in grub.
echo "kvmgt" > /etc/modules-load.d/kvmgt.conf # Load specific kernel modules kvmgt and vfio-mdev, for Intel GVT-g and Nvidia
echo "vfio-mdev" > /etc/modules-load.d/vfio-mdev.conf # Load specific kernel modules kvmgt and vfio-mdev, for Intel GVT-g and Nvidia

dracut --add-drivers "vfio-mdev kvmgt" --force # Instruct dracut to load the vfio drivers:
dracut --force # Regenerate initramfs
grub2-mkconfig -o /boot/grub2/grub.cfg # Update grub

%end # End of the %post section