# __ ____ ____ _____ # ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ # / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ # / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / # / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ # /_/ /____/ # What ? This kickstart file provides a basic, generic building block to build a virtualization host. services --enabled="NetworkManager,libvirtd" # Without libvirtd here, it appears it won't automatically start %packages --exclude-weakdeps # Beginning of the packages section. Does not include weak dependencies. qemu-kvm libvirt libvirt-daemon-config-network libvirt-daemon-kvm virt-install virt-top libguestfs-tools # Complementary tools useful for interacting with vith guest systems. Could probablby be removed python3-libguestfs # Complementary tools useful for interacting with vith guest systems. Could probablby be removed guestfs-tools # Complementary tools useful for interacting with vith guest systems. Could probablby be removed %end # End of the packages section %post --nochroot --log=/mnt/sysimage/opt/base-hypervisor.log # Beginning of %post section. Those commands are executed outside the chroot environment. Logging is enabled to help with post-installation troubleshooting # Load kernel modules by adding vfio, vfio_pci, vfio_iommu_type1, vfio_virqfd echo "vfio" > /mnt/sysimage/etc/modules-load.d/vfio.conf echo "vfio-pci" > /mnt/sysimage/etc/modules-load.d/vfio-pci.conf echo "vfio_iommu_type1" > /mnt/sysimage/etc/modules-load.d/vfio_iommu_type1.conf echo "vfio_virqfd" > /mnt/sysimage/etc/modules-load.d/vfio_virqfd.conf mkdir /mnt/sysimage/var/lib/libvirt/iso # Create a directory to store iso images wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /mnt/sysimage/var/lib/libvirt/iso/ # fetch netboot.xyz iso and store it to the newly created iso directory # fetch custom script and make it executable wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/create-generic-vm-virtio-spice.sh -P /mnt/sysimage/usr/local/bin/ chmod +x /mnt/sysimage/usr/local/bin/create-generic-vm-virtio-spice.sh # fetch custom script and make it executable wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/deploy-minimal-server_1vCPU_2GB-RAM_5GB-disk.sh -P /mnt/sysimage/usr/local/bin/ chmod +x /mnt/sysimage/usr/local/bin/deploy-minimal-server_1vCPU_2GB-RAM_5GB-disk.sh # fetch custom script and make it executable wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/deploy-minimal-workstation_2vCPU_4GB-RAM_10GB-disk.sh -P /mnt/sysimage/usr/local/bin/ chmod +x /mnt/sysimage/usr/local/bin/deploy-minimal-workstation_2vCPU_4GB-RAM_10GB-disk.sh # fetch custom script and make it executable wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/deploy-phyllome-desktop_4vCPU_8GB-RAM_20GB-disk.sh -P /mnt/sysimage/usr/local/bin/ chmod +x /mnt/sysimage/usr/local/bin/deploy-phyllome-desktop_4vCPU_8GB-RAM_20GB-disk.sh # fetch custom script and make it executable wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/virtualization-tweaks-root-needed.sh -P /mnt/sysimage/usr/local/bin/ chmod +x /mnt/sysimage/usr/local/bin/virtualization-tweaks-root-needed.sh %end # End of the %post section