mirror of
https://github.com/PhyllomeOS/phyllomeos.git
synced 2024-11-05 04:01:10 +00:00
75 lines
3.1 KiB
INI
75 lines
3.1 KiB
INI
# __ ____ ____ _____
|
|
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
|
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
|
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
|
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
|
# /_/ /____/
|
|
|
|
# What ? This kickstart file provides a basic, generic building block to build a virtualization host.
|
|
|
|
services --enabled="NetworkManager,libvirtd"
|
|
|
|
%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 --nochroot --log=/mnt/sysimage/root/bh.log # Beginning of %post section. Those commands are executed outside the chroot environment. Logging is enabled to help with post-installation troubleshooting
|
|
# %post --log=/root/bh.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
|
|
|
|
# fetch custom script and make it executable
|
|
wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post/create-user-vms.sh -P /mnt/sysimage/usr/sbin/
|
|
chmod +x /mnt/sysimage/usr/sbin/create-user-vms.sh
|
|
|
|
# fetch custom script and make it executable
|
|
wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post/virtualization-tweaks-root-needed.sh -P /mnt/sysimage/usr/sbin/
|
|
chmod +x /mnt/sysimage/usr/sbin/virtualization-tweaks-root-needed.sh
|
|
|
|
# # Create new file /etc/systemd/system/postinstall.service using cat:
|
|
# cat > /mnt/sysimage/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 /mnt/sysimage/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
|
|
|
|
# %post # Beginning of the post-installation section.
|
|
# %end # End of the %post section
|
|
|