# __ ____ ____ _____ # ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ # / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ # / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / # / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ # /_/ /____/ # What ? This kickstart file provides a basic, generic building block to build a virtualization host. %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 python3-libguestfs guestfs-tools # Complementary tools useful for interacting with vith guest systems %end # End of the packages section %post --log=/root/bhl.log # Beginning of %post section. Those commands are executed inside the chroot environment. Logging is enabled to help with post-installation troubleshooting mkdir /var/lib/libvirt/iso # Create a directory to store iso images wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /var/lib/libvirt/iso/ # fetch netboot.xyz iso # fetch custom script and make it executable wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post/configure-vmm-and-desktop.sh -P /usr/sbin/ chmod +x /usr/sbin/configure-vmm-and-desktop.sh # fetch custom script and make it executable wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post/create-live-vm.sh -P /usr/sbin/ chmod +x /usr/sbin/create-live-vm.sh # fetch custom script and make it executable wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post/virtualization-tweaks-root-needed.sh -P /usr/sbin/ chmod +x /usr/sbin/virtualization-tweaks-root-needed.sh # # Create new file /etc/systemd/system/postinstall.service using cat: # cat > /etc/systemd/system/post-install.service<< EOF # [Unit] # Description=Post-installation configuration for Phyllome OS # After=gdm.service # Requires=gdm.service # # [Service] # Type=oneshot # ExecStart=/bin/bash /usr/sbin/post-install.sh # RemainAfterExit=yes # # [Install] # WantedBy=multi-user.target # EOF # # systemctl enable /etc/systemd/system/post-install.service # Enable systemd unit # Add a network bridge. Still need to declare it to libvirt/virt-manager # nmcli con add ifname br0 type bridge con-name br0 # nmcli con add type bridge-slave ifname enp1s0 master br0 # to-do : generalize this command so that it could regardless of the name of the ethernet device # nmcli con up br0 %end # End of the %post section