mirror of
https://github.com/PhyllomeOS/phyllomeos.git
synced 2024-11-05 04:01:10 +00:00
60 lines
2.1 KiB
INI
60 lines
2.1 KiB
INI
# __ ____ ____ _____
|
|
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
|
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
|
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
|
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
|
# /_/ /____/
|
|
|
|
# What ? This kickstart file provides a basic, generic building block to build a virtualization host.
|
|
# 'b' for basic building block, 'h' for hypervisor'
|
|
|
|
# This is NOT a standalone kickstart file
|
|
|
|
%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
|
|
|
|
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/
|
|
|
|
wget https://github.com/PhyllomeOS/PhyllomeOS/blob/main/post-installation/post-install.sh -P /mnt/sysimage/root/
|
|
|
|
# Create new file /mnt/sysimage/etc/systemd/system/postinstall.service using cat:
|
|
|
|
```
|
|
cat > /mnt/sysimage/etc/systemd/system/postinstall.service<< EOF
|
|
[Unit]
|
|
Description=post-installation configuration for Phyllome OS
|
|
After=systemd-remount-fs.service
|
|
Before=systemd-sysusers.service sysinit.target shutdown.target
|
|
ConditionFirstBoot=yes
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/bin/bash /root/post-install.sh
|
|
RemainAfterExit=no
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
```
|
|
|
|
# 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 |