diff --git a/iso/ivdmd.cfg b/iso/ivdmd.cfg deleted file mode 100644 index a982dbc..0000000 --- a/iso/ivdmd.cfg +++ /dev/null @@ -1,32 +0,0 @@ -# __ ____ ____ _____ -# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ -# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ -# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / -# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ -# /_/ /____/ - -# What ? This kickstart file bootstraps a minimal GNOME-based desktop-oriented virtual machine. -# It requires the Fedora 34 server iso -# 'i' for iso-based, 'v' for virtual machine, 'd' for desktop, 'm' for minimal, 'd' for development only. - -# USAGE : Press the `tab` or 'e' key during POST and apend that after the 'quiet' string : -# inst.ks=https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/ivdmd.cfg -# Merge two kickstart files into one with the following command, provided by the pykickstart package -# ksflatten -v, --config vdmd.cfg -o flat-vdmd.cfg --version F34 - -# ATTENTION : this kickstart file will automatically DESTROY the main virtual disk 'vda' and all of its contents. -# Bye bye! - -%include https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/ivmd.cfg # Include vmd.cfg, a minimal system based on Fedora 34. - -%post # Beginning of the post-installation section - -dnf install -y gnome-shell gnome-terminal nano # Minimal GNOME shell or desktop environment plus the nano text editor -dnf install -y spice-vdagent # Try to install spice-vdagent after the installation is done -dnf install -y dejavu-sans-mono-fonts # the gnome-shell package doesn't include much fonts by default, resulting in weird spacings in the gnome-terminal. -dnf install -y elementary-wallpapers-gnome.noarch # Gorgeous wallpapers -dnf install -y wpa_supplicant # WPA Supplicant for Linux. Not integrated by default in gnome-shell, but necessary to configure wireless networks through the Network Manager. -dnf remove -y gnome-tour # We don't want GNOME-tour to open at launch so we delete it -systemctl set-default graphical.target # Set the desktop environment as the default booting target with systemd. Would this command do the trick ? (outside the post or package section) xconfig --startxonboot - -%end # End of the %post section \ No newline at end of file diff --git a/iso/ivdmld.cfg b/iso/ivdmld.cfg deleted file mode 100644 index 4123861..0000000 --- a/iso/ivdmld.cfg +++ /dev/null @@ -1,231 +0,0 @@ - -# __ ____ ____ _____ -# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ -# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ -# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / -# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ -# /_/ /____/ - -# What ? This kickstart file bootstraps a minimal live system based on Fedora 34. It expects a virtual disk. -# It requires the Fedora 34 server iso -# 'i' for iso-based, 'v' for virtual machine, 'd' for desktop, 'm' for minimal, 'l' for live, 'd' for development only. - -# USAGE : Press the `tab` or 'e' key during POST and apend that after the 'quiet' string : -# inst.ks=https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/ivmld.cfg - -# ATTENTION : this kickstart file will automatically DESTROY the main virtual disk 'vda' and all of its contents. -# Bye bye! - -############################## -# Add GPL licence somewhere ## -############################## - -# This file is directly inspired by the GPL-licence work of the maintainers of the official kickstart files for the RPM family of operating systems : -# Adam Miller, Bastien Nocera, Bruno Wolff III, Bryan Kearney, Chitlesh Goorah, Christoph Wickert, Colin Walters, Fabian Affolter, Igor Pires Soares, -# Jens Petersen, Jeremy Katz, Jeroen van Meeuwen, Jesse Keating, Luya Tshimbalanga, Matthias Clasen, Pedro Silva, Rahul Sundaram, Sebastian Dziallas, -# Sebastian Vahl, wart - -%include https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/ivdmd.cfg # Includes vdmd.cfg, a minimal GNOME-based desktop-oriented virtual machine. - -%packages # Beginning of the packages section - -kernel # Apparently necessary to avoid dependency loops which cause yum issues. -kernel-modules # # Apparently necessary to avoid dependency loops which cause yum issues. -kernel-modules-extra # # Apparently necessary to avoid dependency loops which cause yum issues. -@x86-baremetal-tools # Includes memtest86+ and syslinux. Diagnosis tools useful for a Live OS image -anaconda # Anaconda is needed -anaconda-install-env-deps # Anaconda is needed -anaconda-live # Anaconda is needed -@anaconda-tools # Anaconda is needed --fcoe-utils # Weak unnecessary Anaconda dependency. See https://fedoraproject.org/wiki/Changes/RemoveDeviceMapperMultipathFromWorkstationLiveCD --device-mapper-multipath # Weak unnecessary Anaconda dependency. -dracut-live # Without this, initramfs generation during live image creation fails: #1242586 -glibc-all-langpacks # anaconda needs the locales available to run for different locales -initscripts # no longer in @core but needed for livesys script -chkconfig # no longer in @core but needed for livesys script -policycoreutils # needed to create a livemedia -selinux-policy-targeted # needed to create a livemedia - -%end - -%post - -# FIXME: it'd be better to get this installed from a package -cat > /etc/rc.d/init.d/livesys << EOF -#!/bin/bash -# -# live: Init script for live image -# -# chkconfig: 345 00 99 -# description: Init script for live image. -### BEGIN INIT INFO -# X-Start-Before: display-manager chronyd -### END INIT INFO - -. /etc/init.d/functions - -if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ]; then - exit 0 -fi - -if [ -e /.liveimg-configured ] ; then - configdone=1 -fi - -exists() { - which \$1 >/dev/null 2>&1 || return - \$* -} - -livedir="LiveOS" -for arg in \`cat /proc/cmdline\` ; do - if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then - livedir=\${arg##rd.live.dir=} - continue - fi - if [ "\${arg##live_dir=}" != "\${arg}" ]; then - livedir=\${arg##live_dir=} - fi -done - -# FIXME: it'd be better to get this installed from a package -cat > /etc/rc.d/init.d/livesys << EOF -#!/bin/bash -# -# live: Init script for live image -# -# chkconfig: 345 00 99 -# description: Init script for live image. -### BEGIN INIT INFO -# X-Start-Before: display-manager chronyd -### END INIT INFO - -. /etc/init.d/functions - -if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ]; then - exit 0 -fi - -if [ -e /.liveimg-configured ] ; then - configdone=1 -fi - -exists() { - which \$1 >/dev/null 2>&1 || return - \$* -} - -livedir="LiveOS" -for arg in \`cat /proc/cmdline\` ; do - if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then - livedir=\${arg##rd.live.dir=} - continue - fi - if [ "\${arg##live_dir=}" != "\${arg}" ]; then - livedir=\${arg##live_dir=} - fi -done - -# enable swapfile if it exists -if ! strstr "\`cat /proc/cmdline\`" noswap && [ -f /run/initramfs/live/\${livedir}/swap.img ] ; then - action "Enabling swap file" swapon /run/initramfs/live/\${livedir}/swap.img -fi - -# add liveuser user with no passwd -action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser -passwd -d liveuser > /dev/null -usermod -aG wheel liveuser > /dev/null - -# don't use prelink on a running live image -sed -i 's/PRELINKING=yes/PRELINKING=no/' /etc/sysconfig/prelink &>/dev/null || : - -# Don't sync the system clock when running live (RHBZ #1018162) -sed -i 's/rtcsync//' /etc/chrony.conf - -# Mark things as configured -touch /.liveimg-configured - -# add static hostname to work around xauth bug -# https://bugzilla.redhat.com/show_bug.cgi?id=679486 -# the hostname must be something else than 'localhost' -# https://bugzilla.redhat.com/show_bug.cgi?id=1370222 -hostnamectl set-hostname "localhost-live" - -EOF - -# bah, hal starts way too late -cat > /etc/rc.d/init.d/livesys-late << EOF -#!/bin/bash -# -# live: Late init script for live image -# -# chkconfig: 345 99 01 -# description: Late init script for live image. - -. /etc/init.d/functions - -if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ] || [ -e /.liveimg-late-configured ] ; then - exit 0 -fi - -exists() { - which \$1 >/dev/null 2>&1 || return - \$* -} - -touch /.liveimg-late-configured - -# read some variables out of /proc/cmdline -for o in \`cat /proc/cmdline\` ; do - case \$o in - ks=*) - ks="--kickstart=\${o#ks=}" - ;; - xdriver=*) - xdriver="\${o#xdriver=}" - ;; - esac -done - -# if liveinst or textinst is given, start anaconda -if strstr "\`cat /proc/cmdline\`" liveinst ; then - plymouth --quit - /usr/sbin/liveinst \$ks -fi -if strstr "\`cat /proc/cmdline\`" textinst ; then - plymouth --quit - /usr/sbin/liveinst --text \$ks -fi - -# enable tmpfs for /tmp -systemctl enable tmp.mount - -# make it so that we don't do writing to the overlay for things which -# are just tmpdirs/caches -# note https://bugzilla.redhat.com/show_bug.cgi?id=1135475 -cat >> /etc/fstab << EOF -vartmp /var/tmp tmpfs defaults 0 0 -EOF - -# work around for poor key import UI in PackageKit -rm -f /var/lib/rpm/__db* -echo "Packages within this LiveCD" -rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn -# Note that running rpm recreates the rpm db files which aren't needed or wanted -rm -f /var/lib/rpm/__db* - -%end - -%post --nochroot -# For livecd-creator builds only (lorax/livemedia-creator handles this directly) -if [ -n "$LIVE_ROOT" ]; then - cp "$INSTALL_ROOT"/usr/share/licenses/*-release-common/* "$LIVE_ROOT/" - - # only installed on x86, x86_64 - if [ -f /usr/bin/livecd-iso-to-disk ]; then - mkdir -p "$LIVE_ROOT/LiveOS" - cp /usr/bin/livecd-iso-to-disk "$LIVE_ROOT/LiveOS" - fi -fi - -%end diff --git a/iso/ivhamd.cfg b/iso/ivhamd.cfg deleted file mode 100644 index f3f548b..0000000 --- a/iso/ivhamd.cfg +++ /dev/null @@ -1,26 +0,0 @@ -# __ ____ ____ _____ -# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ -# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ -# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / -# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ -# /_/ /____/ - -# What ? This Kickstart file bootstraps a minimal headless guest hypervisor optimized for AMD CPUs. -# It requires the Fedora 34 server iso -# 'i' for iso-based, 'v' for virtual machine, 'h' for hypervisor', 'a' for amd, 'm' for minimal, 'd' for development only. - -# USAGE : Press the `tab` or 'e' key during POST and apend that after the 'quiet' string : -# inst.ks=https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/ivhamd.cfg - -# ATTENTION : this kickstart file will automatically DESTROY the main virtual disk 'vda' and all of its contents. -# Bye bye! - -%include https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/ivhmd.cfg # Includes vhmd.cfg, a guest hypervisor. - -%post # Beginning of %post section - -sed -i 's/\(quiet\)/\1 amd_iommu=on amd_iommu=pt rd.driver.pre=vfio-pci/i' /etc/default/grub # Load kernel modules in grub. -dracut --force # Regenerate initramfs -grub2-mkconfig -o /boot/grub2/grub.cfg # Update grub - -%end # End of the %post section \ No newline at end of file diff --git a/iso/ivhimd.cfg b/iso/ivhimd.cfg deleted file mode 100644 index 6d2681e..0000000 --- a/iso/ivhimd.cfg +++ /dev/null @@ -1,30 +0,0 @@ -# __ ____ ____ _____ -# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ -# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ -# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / -# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ -# /_/ /____/ - -# What ? This Kickstart file bootstraps a minimal headless guest hypervisor configured for Intel CPUs and Intel Graphics. -# It requires the Fedora 34 server iso -# 'i' for iso-based, 'v' for virtual machine, 'h' for hypervisor', 'i' for intel, 'm' for minimal, 'd' for development only. - -# USAGE : Press the `tab` or 'e' key during POST and apend that after the 'quiet' string : -# inst.ks=https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/ivhimd.cfg - -# ATTENTION : this kickstart file will automatically DESTROY the main virtual disk 'vda' and all of its contents. -# Bye bye! - -%include https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/ivhmd.cfg # Includes vhmd.cfg, a guest 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 \ No newline at end of file diff --git a/iso/ivhmd.cfg b/iso/ivhmd.cfg deleted file mode 100644 index 886cfd6..0000000 --- a/iso/ivhmd.cfg +++ /dev/null @@ -1,46 +0,0 @@ -# __ ____ ____ _____ -# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ -# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ -# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / -# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ -# /_/ /____/ - -# What ? This kickstart file provides the base configuration for a guest hypervisor. -# It requires the Fedora 34 server iso -# 'i' for iso-based, 'v' for virtual machine, 'h' for hypervisor', 'm' for minimal, 'd' for development only. - -# USAGE : Press the `tab` or 'e' key during POST and apend that after the 'quiet' string : -# inst.ks=https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/ivhmd.cfg - -# ATTENTION : this kickstart file will automatically DESTROY the main virtual disk 'vda' and all of its contents. -# Bye bye! - -%include https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/ivmd.cfg # Includes vmd.cfg, a minimal system based on Fedora 34 - -%post # Beginning of %post section - -dnf install -y qemu-kvm libvirt libvirt-daemon-config-network libvirt-daemon-kvm # Install minimal tools dedicated to virtualization. -dnf install -y virt-install virt-top libguestfs-tools python3-libguestfs guestfs-tools # Complementary tools useful for interacting with virtual machines. - -# usermod -a -G libvirt test # Make user "test" part of the existing libvirt group to allow it to interact with the guest-hypervisor. # It won't work with initial-setup - -# Load kernel modules by adding vfio, vfio_pci, vfio_iommu_type1, vfio_virqfd -echo "vfio" > /etc/modules-load.d/vfio.conf -echo "vfio-pci" > /etc/modules-load.d/vfio-pci.conf -echo "vfio_iommu_type1" > /etc/modules-load.d/vfio_iommu_type1.conf -echo "vfio_virqfd" > /etc/modules-load.d/vfio_virqfd.conf - -dracut --add-drivers "vfio vfio-pci vfio_iommu_type1 vfio_virqfd" --force # Instruct dracut to load the vfio drivers: -mkdir /var/lib/libvirt/iso # Create a directory to store iso images -chown test:test /var/lib/libvirt/iso # Make the user "test" the owner of this directory -virsh pool-create-as --name iso --type dir --target /var/lib/libvirt/iso # Make libvirt aware of this new directory by creating a so-called `pool` within this directory -mkdir /var/lib/libvirt/rom # Create a directory to store rom files -chown test:test /var/lib/libvirt/rom # Make the user "test" its owner -virsh pool-create-as --name rom --type dir --target /var/lib/libvirt/rom # Make libvirt aware of this new directory by creating a so-called `pool` within this directory -chown test:test /var/lib/libvirt/images # Make the user "test" the owner of this directory - -nmcli con add ifname br0 type bridge con-name br0 # Add a network bridge -nmcli con add type bridge-slave ifname enp1s0 master br0 -nmcli con up br0 - -%end # End of the %post section \ No newline at end of file diff --git a/iso/ivmd.cfg b/iso/ivmd.cfg deleted file mode 100644 index f22d890..0000000 --- a/iso/ivmd.cfg +++ /dev/null @@ -1,67 +0,0 @@ -# __ ____ ____ _____ -# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ -# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ -# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / -# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ -# /_/ /____/ - -# What ? This kickstart file bootstraps a minimal virtual machine based on Fedora 34 server. -# It requires the Fedora 34 server iso -# 'i' for iso-based, 'v' for virtual machine, 'm' for minimal, 'd' for development only. - -# USAGE : Press the `tab` or 'e' key during POST and apend that after the 'quiet' string : -# inst.ks=https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/ivmd.cfg - -# ATTENTION : this kickstart file will automatically DESTROY the main virtual disk 'vda' and all of its contents. -# Bye bye! - -cdrom # Configure the cdrom as the installation method -text # Perform installation in text mode - -keyboard --xlayouts='ch (fr)' # set keyboard layouts for Romandie # Unnecessary if using inital-setup -lang en_US.UTF-8 # Set system language to American English # Unnecessary if using inital-setup -timezone Europe/Paris --utc # Set System timezone to Paris # Unnecessary if using inital-setup - -# Set dummy encrypted root password and activate the root account -rootpw --iscrypted $6$2rA58L/SQu5.xMTb$u8.zqBWE5bK1/N983qDpJEp41yg66GwQ3YVTpsRghVhNiZypWyo2Zq2Qwr2tCM3bt50mKMIgHzbPdtSq9ErPz. -# Create "test" user account # Unnecessary if using inital-setup -user --name=test --password=$6$wlB.n8fvumAXv3xn$clVIswjLUjb7MZoJ2JHi1zk1zmx5ViQuzbVkLYf70SDan5hdqI0tUkc89nHE8pVnHStO4mcl3c1Tk0WJvCet1. --iscrypted --gecos="test" - -firewall --enabled # Make sure the firewall is enabled -# network --onboot=yes --bootproto=dhcp --hostname=vmd # Configure network interfaces and set hostname -services --enabled=NetworkManager --disabled=sshd -network --bootproto=dhcp --device=link --activate - -ignoredisk --only-use=vda # Only use disk labelled as vda -zerombr # WARNING : Dangerous command ! Will clear the Master Boot Record -clearpart --all --initlabel --drives=vda # Partition clearing information. This setup uses GPT by default. -part /boot/efi --fstype="efi" --ondisk=vda --size=128 --fsoptions="umask=0077,shortname=winnt" --label=efi # Will create an efi partitition of 128 MiB (vda1) -part /boot --fstype="ext4" --ondisk=vda --size=384 --label=boot # Create a boot partition of 384 MiB using the ext4 filesystem (vda2). -part / --fstype="ext4" --ondisk=vda --grow --label=root # The remaining space will be used for root (vda3). -bootloader --timeout=1 # Set the Grub bootloader timeout to 1 - -reboot # Reboot the system after the installation is successfully completed -# firstboot --enable --reconfig # Initial Setup will start after the first reboot - -%packages # Beginning of the packages section - -@core # minimal installation -@guest-agents # qemu-guest agent -pciutils # Pciutils provides lspci commandline tool and is not installed by default -# initial-setup # Install the initial setup package. For the GUI version, use initial-setup-gui instead. -# -fedora-release # Fedora release-notes -# -fedora-release-common # Fedora release files -# -fedora-release-identity-basic # ??? -# generic-release -# generic-release-common -# generic-release-notes - -%end # End of the packages section - -%post # Beginning of the post-installation section - -localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. -dnf update -y # Update the system -grub2-mkconfig -o /boot/grub2/grub.cfg # Update grub otherwise the system won't boot properly - -%end # End of the %post section \ No newline at end of file