diff --git a/dishes/desktop-hypervisor-amdcpu.cfg b/dishes/desktop-hypervisor-amdcpu.cfg index 4234c1f..24e3583 100644 --- a/dishes/desktop-hypervisor-amdcpu.cfg +++ b/dishes/desktop-hypervisor-amdcpu.cfg @@ -46,20 +46,6 @@ grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful %end -%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log - -truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available - -## Append lines to existing vendor.conf file, so that options are skipped upon reboot -cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF -[pages] -skip=privacy -[goa] -providers=local-first! -EOF - -%end - %post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log # cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF @@ -232,50 +218,44 @@ echo "options kvm_amd nested=1" >> /mnt/sysimage/etc/modprobe.d/kvm.conf # Add s %packages --exclude-weakdeps @base-graphical +@core @critical-path-gnome -NetworkManager -NetworkManager-config-connectivity-fedora +acpi +acpitool +alsa-firmware alsa-sof-firmware amd-gpu-firmware atheros-firmware -audit +atmel-firmware b43-fwcutter b43-openfwwf -basesystem -bash brcmfmac-firmware cirrus-audio-firmware -coreutils +cmospwd curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs +dejavu-sans-mono-fonts +dvb-firmware fedora-remix-logos -filesystem -firewalld -fwupd +firefox generic-logos generic-release generic-release-common generic-release-notes -glibc +gnome-backgrounds.noarch gnome-initial-setup -hostname +gpsd +gpsd-clients +hddtemp +hdparm intel-audio-firmware intel-gpu-firmware intel-vsc-firmware -iproute -iputils +iscan-firmware iwlegacy-firmware iwlwifi-dvm-firmware iwlwifi-mvm-firmware -kbd -kernel -less libertas-firmware +libifp libusb libvirt libvirt-client @@ -292,39 +272,36 @@ libvirt-daemon-log libvirt-daemon-qemu libvirt-dbus libvirt-nss -man-db +liquidio-firmware +lsscsi +mlxsw_spectrum-firmware +mozilla-ublock-origin.noarch +mrvlprestera-firmware mt7xxx-firmware nano -ncurses +netronome-firmware nvidia-gpu-firmware nxpwireless-firmware -openssh-clients -openssh-server -parted +opensc pciutils -plymouth -policycoreutils -prefixdevname -procps-ng +pcsc-lite +pcsc-lite-ccid +qcom-accel-firmware +qed-firmware qemu-kvm +radeontop realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved tiwilink-firmware usbutils -util-linux -vim-minimal virt-install virt-manager wget -zram-generator-defaults +wpan-tools +zd1211-firmware +-NetworkManager-pptp +-avahi +-gnome-bluetooth +-gnome-software +-toolbox %end diff --git a/dishes/desktop-hypervisor-amdcpu_rawhide.cfg b/dishes/desktop-hypervisor-amdcpu_rawhide.cfg new file mode 100644 index 0000000..d767702 --- /dev/null +++ b/dishes/desktop-hypervisor-amdcpu_rawhide.cfg @@ -0,0 +1,266 @@ +# Generated by pykickstart v3.62 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved,libvirtd" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label=efi +part /boot --fstype="ext4" --size=2048 --label=boot +part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit" + +%post --logfile=/mnt/sysimage/root/post.log + +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 # Unsure it is actually useful + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log + +# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF +# [org.gnome.desktop.background] +# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg' +# EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +audible-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-files=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome-virtual-machine-manager.log + +# Create a file to autostart virt-manager +cat > /mnt/sysimage/etc/xdg/autostart/virt-manager.desktop << EOF +[Desktop Entry] +Type=Application +Name=Virtual Machine Manager +Exec=virt-manager +EOF + +# Modify the default virt-manager behavior for misc. options +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.override<< EOF + +# Modify the default virt-manager behavior for misc. options +[org.virt-manager.virt-manager] +xmleditor-enabled=true +manager-window-height=600 +manager-window-width=200 + +# Libvirt URIs listed in the manager window +[org.virt-manager.virt-manager.connections] +uris=['qemu:///system', 'qemu:///session'] +autoconnect=['qemu:///session'] + +# Show usage in the domain list +[org.virt-manager.virt-manager.vmlist-fields] +cpu-usage=false + +# Settings related to statistics +[org.virt-manager.virt-manager.stats] +update-interval=3 +enable-disk-poll=true +enable-memory-poll=true +enable-net-poll=true + +# Default behavior for the console +[org.virt-manager.virt-manager.console] +scaling=2 +resize-guest=1 +autoconnect=false + +# Do not show toolbar +[org.virt-manager.virt-manager.details] +show-toolbar=false + +# Modify default values for new VMs +[org.virt-manager.virt-manager.new-vm] +storage-format='raw' +cpu-default='host-model' +graphics-type='spice' + +# Modify the default virt-manager behavior for confirmation dialogues +[org.virt-manager.virt-manager.confirm] +forcepoweroff=false +removedev=false +unapplied-dev=false + +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor.log + +# 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/isos # Create a directory to store iso images. SELinux is already taking this one into account. + +# wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /mnt/sysimage/var/lib/libvirt/isos/ # fetch netboot.xyz iso and store it to the newly created iso directory + +# # virsh commands fail in a kickstart environment (chroot or not it seems). would need to fetch a script and execute post-launch with a delay, for example using a systemd unit +# virsh pool-define-as isos dir - - - - /mnt/sysimage/var/lib/libvirt/isos/ # Make libvirt aware of this new directory by creating a so-called 'pool'. +# virsh pool-build isos # Build the pool +# virsh pool-start isos # Start it +# virsh pool-autostart isos # Set-it to autostart + +# 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 + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/linux.xml +# virsh define linux.xml + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/windows.xml +# virsh define windows.xml + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor-amdcpu.log + +sed -i 's/\(quiet\)/\1 iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB. + +echo "options kvm_amd nested=1" >> /mnt/sysimage/etc/modprobe.d/kvm.conf # Add support for nested virtualization + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +@hardware-support +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-backgrounds.noarch +gnome-control-center +gnome-initial-setup +gnome-session-wayland-session +gnome-shell +gvfs-fuse +libusb +libvirt +libvirt-client +libvirt-client-qemu +libvirt-daemon +libvirt-daemon-common +libvirt-daemon-config-network +libvirt-daemon-driver-ch +libvirt-daemon-driver-interface +libvirt-daemon-driver-network +libvirt-daemon-driver-qemu +libvirt-daemon-kvm +libvirt-daemon-log +libvirt-daemon-qemu +libvirt-dbus +libvirt-nss +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +qemu-kvm +usbutils +virt-install +virt-manager +wget + +%end diff --git a/dishes/desktop-hypervisor-intelcpu-intelgpu.cfg b/dishes/desktop-hypervisor-intelcpu-intelgpu.cfg index 21a33ff..4094d9f 100644 --- a/dishes/desktop-hypervisor-intelcpu-intelgpu.cfg +++ b/dishes/desktop-hypervisor-intelcpu-intelgpu.cfg @@ -46,20 +46,6 @@ grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful %end -%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log - -truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available - -## Append lines to existing vendor.conf file, so that options are skipped upon reboot -cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF -[pages] -skip=privacy -[goa] -providers=local-first! -EOF - -%end - %post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log # cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF @@ -242,50 +228,44 @@ echo "vfio-mdev" > /mnt/sysimage/etc/modules-load.d/vfio-mdev.conf # Load specif %packages --exclude-weakdeps @base-graphical +@core @critical-path-gnome -NetworkManager -NetworkManager-config-connectivity-fedora +acpi +acpitool +alsa-firmware alsa-sof-firmware amd-gpu-firmware atheros-firmware -audit +atmel-firmware b43-fwcutter b43-openfwwf -basesystem -bash brcmfmac-firmware cirrus-audio-firmware -coreutils +cmospwd curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs +dejavu-sans-mono-fonts +dvb-firmware fedora-remix-logos -filesystem -firewalld -fwupd +firefox generic-logos generic-release generic-release-common generic-release-notes -glibc +gnome-backgrounds.noarch gnome-initial-setup -hostname +gpsd +gpsd-clients +hddtemp +hdparm intel-audio-firmware intel-gpu-firmware intel-vsc-firmware -iproute -iputils +iscan-firmware iwlegacy-firmware iwlwifi-dvm-firmware iwlwifi-mvm-firmware -kbd -kernel -less libertas-firmware +libifp libusb libvirt libvirt-client @@ -302,39 +282,36 @@ libvirt-daemon-log libvirt-daemon-qemu libvirt-dbus libvirt-nss -man-db +liquidio-firmware +lsscsi +mlxsw_spectrum-firmware +mozilla-ublock-origin.noarch +mrvlprestera-firmware mt7xxx-firmware nano -ncurses +netronome-firmware nvidia-gpu-firmware nxpwireless-firmware -openssh-clients -openssh-server -parted +opensc pciutils -plymouth -policycoreutils -prefixdevname -procps-ng +pcsc-lite +pcsc-lite-ccid +qcom-accel-firmware +qed-firmware qemu-kvm +radeontop realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved tiwilink-firmware usbutils -util-linux -vim-minimal virt-install virt-manager wget -zram-generator-defaults +wpan-tools +zd1211-firmware +-NetworkManager-pptp +-avahi +-gnome-bluetooth +-gnome-software +-toolbox %end diff --git a/dishes/desktop-hypervisor-intelcpu-intelgpu_rawhide.cfg b/dishes/desktop-hypervisor-intelcpu-intelgpu_rawhide.cfg new file mode 100644 index 0000000..ca434d7 --- /dev/null +++ b/dishes/desktop-hypervisor-intelcpu-intelgpu_rawhide.cfg @@ -0,0 +1,192 @@ +# Generated by pykickstart v3.62 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved,libvirtd" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label=efi +part /boot --fstype="ext4" --size=2048 --label=boot +part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit" + +%post --logfile=/mnt/sysimage/root/post.log + +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 # Unsure it is actually useful + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome-virtual-machine-manager.log + +# Create a file to autostart virt-manager +cat > /mnt/sysimage/etc/xdg/autostart/virt-manager.desktop << EOF +[Desktop Entry] +Type=Application +Name=Virtual Machine Manager +Exec=virt-manager +EOF + +# Modify the default virt-manager behavior for misc. options +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.override<< EOF + +# Modify the default virt-manager behavior for misc. options +[org.virt-manager.virt-manager] +xmleditor-enabled=true +manager-window-height=600 +manager-window-width=200 + +# Libvirt URIs listed in the manager window +[org.virt-manager.virt-manager.connections] +uris=['qemu:///system', 'qemu:///session'] +autoconnect=['qemu:///session'] + +# Show usage in the domain list +[org.virt-manager.virt-manager.vmlist-fields] +cpu-usage=false + +# Settings related to statistics +[org.virt-manager.virt-manager.stats] +update-interval=3 +enable-disk-poll=true +enable-memory-poll=true +enable-net-poll=true + +# Default behavior for the console +[org.virt-manager.virt-manager.console] +scaling=2 +resize-guest=1 +autoconnect=false + +# Do not show toolbar +[org.virt-manager.virt-manager.details] +show-toolbar=false + +# Modify default values for new VMs +[org.virt-manager.virt-manager.new-vm] +storage-format='raw' +cpu-default='host-model' +graphics-type='spice' + +# Modify the default virt-manager behavior for confirmation dialogues +[org.virt-manager.virt-manager.confirm] +forcepoweroff=false +removedev=false +unapplied-dev=false + +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor.log + +# 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/isos # Create a directory to store iso images. SELinux is already taking this one into account. + +# wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /mnt/sysimage/var/lib/libvirt/isos/ # fetch netboot.xyz iso and store it to the newly created iso directory + +# # virsh commands fail in a kickstart environment (chroot or not it seems). would need to fetch a script and execute post-launch with a delay, for example using a systemd unit +# virsh pool-define-as isos dir - - - - /mnt/sysimage/var/lib/libvirt/isos/ # Make libvirt aware of this new directory by creating a so-called 'pool'. +# virsh pool-build isos # Build the pool +# virsh pool-start isos # Start it +# virsh pool-autostart isos # Set-it to autostart + +# 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 + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/linux.xml +# virsh define linux.xml + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/windows.xml +# virsh define windows.xml + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor-intelcpu.log + +sed -i 's/\(quiet\)/\1 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB. + +echo "options kvm_intel nested=1" >> /mnt/sysimage/etc/modprobe.d/kvm.conf # Add support for nested virtualization on Intel CPUs + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor-intelgpu.log + +sed -i 's/\(vfio-pci\)/\1 i915.enable_gvt=1/i' /mnt/sysimage/etc/default/grub # Load kernel modules in grub. + +# Load extra kernel modules to enable vfio-mdev on selected hardware +echo "kvmgt" > /mnt/sysimage/etc/modules-load.d/kvmgt.conf # Load specific kernel modules kvmgt and vfio-mdev, for Intel (tm) GVT-g and Nvidia (tm) +echo "vfio-mdev" > /mnt/sysimage/etc/modules-load.d/vfio-mdev.conf # Load specific kernel modules kvmgt and vfio-mdev, for Intel (tm) GVT-g and Nvidia (tm) + +%end + +%packages --exclude-weakdeps +@core +@hardware-support +curl +fedora-remix-logos +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-initial-setup +libusb +libvirt +libvirt-client +libvirt-client-qemu +libvirt-daemon +libvirt-daemon-common +libvirt-daemon-config-network +libvirt-daemon-driver-ch +libvirt-daemon-driver-interface +libvirt-daemon-driver-network +libvirt-daemon-driver-qemu +libvirt-daemon-kvm +libvirt-daemon-log +libvirt-daemon-qemu +libvirt-dbus +libvirt-nss +nano +pciutils +qemu-kvm +usbutils +virt-install +virt-manager +wget + +%end diff --git a/dishes/desktop-hypervisor-intelcpu.cfg b/dishes/desktop-hypervisor-intelcpu.cfg index 067e6df..fbcb6ab 100644 --- a/dishes/desktop-hypervisor-intelcpu.cfg +++ b/dishes/desktop-hypervisor-intelcpu.cfg @@ -46,20 +46,6 @@ grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful %end -%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log - -truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available - -## Append lines to existing vendor.conf file, so that options are skipped upon reboot -cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF -[pages] -skip=privacy -[goa] -providers=local-first! -EOF - -%end - %post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log # cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF @@ -232,50 +218,44 @@ echo "options kvm_intel nested=1" >> /mnt/sysimage/etc/modprobe.d/kvm.conf # Add %packages --exclude-weakdeps @base-graphical +@core @critical-path-gnome -NetworkManager -NetworkManager-config-connectivity-fedora +acpi +acpitool +alsa-firmware alsa-sof-firmware amd-gpu-firmware atheros-firmware -audit +atmel-firmware b43-fwcutter b43-openfwwf -basesystem -bash brcmfmac-firmware cirrus-audio-firmware -coreutils +cmospwd curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs +dejavu-sans-mono-fonts +dvb-firmware fedora-remix-logos -filesystem -firewalld -fwupd +firefox generic-logos generic-release generic-release-common generic-release-notes -glibc +gnome-backgrounds.noarch gnome-initial-setup -hostname +gpsd +gpsd-clients +hddtemp +hdparm intel-audio-firmware intel-gpu-firmware intel-vsc-firmware -iproute -iputils +iscan-firmware iwlegacy-firmware iwlwifi-dvm-firmware iwlwifi-mvm-firmware -kbd -kernel -less libertas-firmware +libifp libusb libvirt libvirt-client @@ -292,39 +272,36 @@ libvirt-daemon-log libvirt-daemon-qemu libvirt-dbus libvirt-nss -man-db +liquidio-firmware +lsscsi +mlxsw_spectrum-firmware +mozilla-ublock-origin.noarch +mrvlprestera-firmware mt7xxx-firmware nano -ncurses +netronome-firmware nvidia-gpu-firmware nxpwireless-firmware -openssh-clients -openssh-server -parted +opensc pciutils -plymouth -policycoreutils -prefixdevname -procps-ng +pcsc-lite +pcsc-lite-ccid +qcom-accel-firmware +qed-firmware qemu-kvm +radeontop realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved tiwilink-firmware usbutils -util-linux -vim-minimal virt-install virt-manager wget -zram-generator-defaults +wpan-tools +zd1211-firmware +-NetworkManager-pptp +-avahi +-gnome-bluetooth +-gnome-software +-toolbox %end diff --git a/dishes/desktop-hypervisor-intelcpu_rawhide.cfg b/dishes/desktop-hypervisor-intelcpu_rawhide.cfg new file mode 100644 index 0000000..a252db8 --- /dev/null +++ b/dishes/desktop-hypervisor-intelcpu_rawhide.cfg @@ -0,0 +1,266 @@ +# Generated by pykickstart v3.62 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved,libvirtd" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label=efi +part /boot --fstype="ext4" --size=2048 --label=boot +part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit" + +%post --logfile=/mnt/sysimage/root/post.log + +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 # Unsure it is actually useful + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log + +# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF +# [org.gnome.desktop.background] +# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg' +# EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +audible-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-files=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome-virtual-machine-manager.log + +# Create a file to autostart virt-manager +cat > /mnt/sysimage/etc/xdg/autostart/virt-manager.desktop << EOF +[Desktop Entry] +Type=Application +Name=Virtual Machine Manager +Exec=virt-manager +EOF + +# Modify the default virt-manager behavior for misc. options +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.override<< EOF + +# Modify the default virt-manager behavior for misc. options +[org.virt-manager.virt-manager] +xmleditor-enabled=true +manager-window-height=600 +manager-window-width=200 + +# Libvirt URIs listed in the manager window +[org.virt-manager.virt-manager.connections] +uris=['qemu:///system', 'qemu:///session'] +autoconnect=['qemu:///session'] + +# Show usage in the domain list +[org.virt-manager.virt-manager.vmlist-fields] +cpu-usage=false + +# Settings related to statistics +[org.virt-manager.virt-manager.stats] +update-interval=3 +enable-disk-poll=true +enable-memory-poll=true +enable-net-poll=true + +# Default behavior for the console +[org.virt-manager.virt-manager.console] +scaling=2 +resize-guest=1 +autoconnect=false + +# Do not show toolbar +[org.virt-manager.virt-manager.details] +show-toolbar=false + +# Modify default values for new VMs +[org.virt-manager.virt-manager.new-vm] +storage-format='raw' +cpu-default='host-model' +graphics-type='spice' + +# Modify the default virt-manager behavior for confirmation dialogues +[org.virt-manager.virt-manager.confirm] +forcepoweroff=false +removedev=false +unapplied-dev=false + +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor.log + +# 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/isos # Create a directory to store iso images. SELinux is already taking this one into account. + +# wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /mnt/sysimage/var/lib/libvirt/isos/ # fetch netboot.xyz iso and store it to the newly created iso directory + +# # virsh commands fail in a kickstart environment (chroot or not it seems). would need to fetch a script and execute post-launch with a delay, for example using a systemd unit +# virsh pool-define-as isos dir - - - - /mnt/sysimage/var/lib/libvirt/isos/ # Make libvirt aware of this new directory by creating a so-called 'pool'. +# virsh pool-build isos # Build the pool +# virsh pool-start isos # Start it +# virsh pool-autostart isos # Set-it to autostart + +# 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 + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/linux.xml +# virsh define linux.xml + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/windows.xml +# virsh define windows.xml + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor-intelcpu.log + +sed -i 's/\(quiet\)/\1 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB. + +echo "options kvm_intel nested=1" >> /mnt/sysimage/etc/modprobe.d/kvm.conf # Add support for nested virtualization on Intel CPUs + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +@hardware-support +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-backgrounds.noarch +gnome-control-center +gnome-initial-setup +gnome-session-wayland-session +gnome-shell +gvfs-fuse +libusb +libvirt +libvirt-client +libvirt-client-qemu +libvirt-daemon +libvirt-daemon-common +libvirt-daemon-config-network +libvirt-daemon-driver-ch +libvirt-daemon-driver-interface +libvirt-daemon-driver-network +libvirt-daemon-driver-qemu +libvirt-daemon-kvm +libvirt-daemon-log +libvirt-daemon-qemu +libvirt-dbus +libvirt-nss +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +qemu-kvm +usbutils +virt-install +virt-manager +wget + +%end diff --git a/dishes/desktop-hypervisor.cfg b/dishes/desktop-hypervisor.cfg index d6c739b..76b4653 100644 --- a/dishes/desktop-hypervisor.cfg +++ b/dishes/desktop-hypervisor.cfg @@ -46,20 +46,6 @@ grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful %end -%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log - -truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available - -## Append lines to existing vendor.conf file, so that options are skipped upon reboot -cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF -[pages] -skip=privacy -[goa] -providers=local-first! -EOF - -%end - %post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log # cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF @@ -224,50 +210,44 @@ mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso image %packages --exclude-weakdeps @base-graphical +@core @critical-path-gnome -NetworkManager -NetworkManager-config-connectivity-fedora +acpi +acpitool +alsa-firmware alsa-sof-firmware amd-gpu-firmware atheros-firmware -audit +atmel-firmware b43-fwcutter b43-openfwwf -basesystem -bash brcmfmac-firmware cirrus-audio-firmware -coreutils +cmospwd curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs +dejavu-sans-mono-fonts +dvb-firmware fedora-remix-logos -filesystem -firewalld -fwupd +firefox generic-logos generic-release generic-release-common generic-release-notes -glibc +gnome-backgrounds.noarch gnome-initial-setup -hostname +gpsd +gpsd-clients +hddtemp +hdparm intel-audio-firmware intel-gpu-firmware intel-vsc-firmware -iproute -iputils +iscan-firmware iwlegacy-firmware iwlwifi-dvm-firmware iwlwifi-mvm-firmware -kbd -kernel -less libertas-firmware +libifp libusb libvirt libvirt-client @@ -284,39 +264,36 @@ libvirt-daemon-log libvirt-daemon-qemu libvirt-dbus libvirt-nss -man-db +liquidio-firmware +lsscsi +mlxsw_spectrum-firmware +mozilla-ublock-origin.noarch +mrvlprestera-firmware mt7xxx-firmware nano -ncurses +netronome-firmware nvidia-gpu-firmware nxpwireless-firmware -openssh-clients -openssh-server -parted +opensc pciutils -plymouth -policycoreutils -prefixdevname -procps-ng +pcsc-lite +pcsc-lite-ccid +qcom-accel-firmware +qed-firmware qemu-kvm +radeontop realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved tiwilink-firmware usbutils -util-linux -vim-minimal virt-install virt-manager wget -zram-generator-defaults +wpan-tools +zd1211-firmware +-NetworkManager-pptp +-avahi +-gnome-bluetooth +-gnome-software +-toolbox %end diff --git a/dishes/desktop-hypervisor_rawhide.cfg b/dishes/desktop-hypervisor_rawhide.cfg new file mode 100644 index 0000000..9e9f143 --- /dev/null +++ b/dishes/desktop-hypervisor_rawhide.cfg @@ -0,0 +1,258 @@ +# Generated by pykickstart v3.62 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved,libvirtd" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label=efi +part /boot --fstype="ext4" --size=2048 --label=boot +part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit" + +%post --logfile=/mnt/sysimage/root/post.log + +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 # Unsure it is actually useful + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log + +# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF +# [org.gnome.desktop.background] +# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg' +# EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +audible-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-files=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome-virtual-machine-manager.log + +# Create a file to autostart virt-manager +cat > /mnt/sysimage/etc/xdg/autostart/virt-manager.desktop << EOF +[Desktop Entry] +Type=Application +Name=Virtual Machine Manager +Exec=virt-manager +EOF + +# Modify the default virt-manager behavior for misc. options +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.override<< EOF + +# Modify the default virt-manager behavior for misc. options +[org.virt-manager.virt-manager] +xmleditor-enabled=true +manager-window-height=600 +manager-window-width=200 + +# Libvirt URIs listed in the manager window +[org.virt-manager.virt-manager.connections] +uris=['qemu:///system', 'qemu:///session'] +autoconnect=['qemu:///session'] + +# Show usage in the domain list +[org.virt-manager.virt-manager.vmlist-fields] +cpu-usage=false + +# Settings related to statistics +[org.virt-manager.virt-manager.stats] +update-interval=3 +enable-disk-poll=true +enable-memory-poll=true +enable-net-poll=true + +# Default behavior for the console +[org.virt-manager.virt-manager.console] +scaling=2 +resize-guest=1 +autoconnect=false + +# Do not show toolbar +[org.virt-manager.virt-manager.details] +show-toolbar=false + +# Modify default values for new VMs +[org.virt-manager.virt-manager.new-vm] +storage-format='raw' +cpu-default='host-model' +graphics-type='spice' + +# Modify the default virt-manager behavior for confirmation dialogues +[org.virt-manager.virt-manager.confirm] +forcepoweroff=false +removedev=false +unapplied-dev=false + +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor.log + +# 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/isos # Create a directory to store iso images. SELinux is already taking this one into account. + +# wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /mnt/sysimage/var/lib/libvirt/isos/ # fetch netboot.xyz iso and store it to the newly created iso directory + +# # virsh commands fail in a kickstart environment (chroot or not it seems). would need to fetch a script and execute post-launch with a delay, for example using a systemd unit +# virsh pool-define-as isos dir - - - - /mnt/sysimage/var/lib/libvirt/isos/ # Make libvirt aware of this new directory by creating a so-called 'pool'. +# virsh pool-build isos # Build the pool +# virsh pool-start isos # Start it +# virsh pool-autostart isos # Set-it to autostart + +# 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 + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/linux.xml +# virsh define linux.xml + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/windows.xml +# virsh define windows.xml + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +@hardware-support +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-backgrounds.noarch +gnome-control-center +gnome-initial-setup +gnome-session-wayland-session +gnome-shell +gvfs-fuse +libusb +libvirt +libvirt-client +libvirt-client-qemu +libvirt-daemon +libvirt-daemon-common +libvirt-daemon-config-network +libvirt-daemon-driver-ch +libvirt-daemon-driver-interface +libvirt-daemon-driver-network +libvirt-daemon-driver-qemu +libvirt-daemon-kvm +libvirt-daemon-log +libvirt-daemon-qemu +libvirt-dbus +libvirt-nss +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +qemu-kvm +usbutils +virt-install +virt-manager +wget + +%end diff --git a/dishes/desktop.cfg b/dishes/desktop.cfg index 618164a..e294928 100644 --- a/dishes/desktop.cfg +++ b/dishes/desktop.cfg @@ -46,20 +46,6 @@ grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful %end -%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log - -truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available - -## Append lines to existing vendor.conf file, so that options are skipped upon reboot -cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF -[pages] -skip=privacy -[goa] -providers=local-first! -EOF - -%end - %post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log # cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF @@ -131,81 +117,72 @@ glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ %packages @base-graphical +@core @critical-path-gnome -NetworkManager -NetworkManager-config-connectivity-fedora +acpi +acpitool +alsa-firmware alsa-sof-firmware amd-gpu-firmware atheros-firmware -audit +atmel-firmware b43-fwcutter b43-openfwwf -basesystem -bash brcmfmac-firmware cirrus-audio-firmware -coreutils +cmospwd curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs +dejavu-sans-mono-fonts +dvb-firmware fedora-remix-logos -filesystem -firewalld -fwupd +firefox generic-logos generic-release generic-release-common generic-release-notes -glibc +gnome-backgrounds.noarch gnome-initial-setup -hostname +gpsd +gpsd-clients +hddtemp +hdparm intel-audio-firmware intel-gpu-firmware intel-vsc-firmware -iproute -iputils +iscan-firmware iwlegacy-firmware iwlwifi-dvm-firmware iwlwifi-mvm-firmware -kbd -kernel -less libertas-firmware +libifp libusb -man-db +liquidio-firmware +lsscsi +mlxsw_spectrum-firmware +mozilla-ublock-origin.noarch +mrvlprestera-firmware mt7xxx-firmware nano -ncurses +netronome-firmware nvidia-gpu-firmware nxpwireless-firmware -openssh-clients -openssh-server -parted +opensc pciutils -plymouth -policycoreutils -prefixdevname -procps-ng +pcsc-lite +pcsc-lite-ccid +qcom-accel-firmware +qed-firmware +radeontop realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved tiwilink-firmware usbutils -util-linux -vim-minimal wget -zram-generator-defaults +wpan-tools +zd1211-firmware +-NetworkManager-pptp +-avahi +-gnome-bluetooth +-gnome-software +-toolbox %end diff --git a/dishes/desktop_rawhide.cfg b/dishes/desktop_rawhide.cfg new file mode 100644 index 0000000..9d4ca61 --- /dev/null +++ b/dishes/desktop_rawhide.cfg @@ -0,0 +1,147 @@ +# Generated by pykickstart v3.62 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label=efi +part /boot --fstype="ext4" --size=2048 --label=boot +part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit" + +%post --logfile=/mnt/sysimage/root/post.log + +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 # Unsure it is actually useful + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log + +# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF +# [org.gnome.desktop.background] +# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg' +# EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +audible-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-files=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +@hardware-support +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-backgrounds.noarch +gnome-control-center +gnome-initial-setup +gnome-session-wayland-session +gnome-shell +gvfs-fuse +libusb +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +usbutils +wget + +%end diff --git a/dishes/live-desktop-hypervisor.cfg b/dishes/live-desktop-hypervisor.cfg index c2355ca..34755f2 100644 --- a/dishes/live-desktop-hypervisor.cfg +++ b/dishes/live-desktop-hypervisor.cfg @@ -102,20 +102,6 @@ sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys %end -%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log - -truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available - -## Append lines to existing vendor.conf file, so that options are skipped upon reboot -cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF -[pages] -skip=privacy -[goa] -providers=local-first! -EOF - -%end - %post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log # cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF @@ -279,57 +265,45 @@ mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso image %end %packages --exclude-weakdeps -@anaconda-tools @base-graphical +@core @critical-path-gnome -NetworkManager -NetworkManager-config-connectivity-fedora -aajohan-comfortaa-fonts +acpi +acpitool +alsa-firmware alsa-sof-firmware amd-gpu-firmware atheros-firmware -audit +atmel-firmware b43-fwcutter b43-openfwwf -basesystem -bash brcmfmac-firmware cirrus-audio-firmware -coreutils +cmospwd curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -dracut-live -e2fsprogs +dejavu-sans-mono-fonts +dvb-firmware fedora-remix-logos -filesystem -firewalld -fwupd +firefox generic-logos generic-release generic-release-common generic-release-notes -glibc -glibc-all-langpacks +gnome-backgrounds.noarch gnome-initial-setup -hostname +gpsd +gpsd-clients +hddtemp +hdparm intel-audio-firmware intel-gpu-firmware intel-vsc-firmware -iproute -iputils +iscan-firmware iwlegacy-firmware iwlwifi-dvm-firmware iwlwifi-mvm-firmware -kbd -kernel -kernel-modules -kernel-modules-extra -less libertas-firmware +libifp libusb libvirt libvirt-client @@ -346,40 +320,36 @@ libvirt-daemon-log libvirt-daemon-qemu libvirt-dbus libvirt-nss -livesys-scripts -man-db +liquidio-firmware +lsscsi +mlxsw_spectrum-firmware +mozilla-ublock-origin.noarch +mrvlprestera-firmware mt7xxx-firmware nano -ncurses +netronome-firmware nvidia-gpu-firmware nxpwireless-firmware -openssh-clients -openssh-server -parted +opensc pciutils -plymouth -policycoreutils -prefixdevname -procps-ng +pcsc-lite +pcsc-lite-ccid +qcom-accel-firmware +qed-firmware qemu-kvm +radeontop realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved tiwilink-firmware usbutils -util-linux -vim-minimal virt-install virt-manager wget -zram-generator-defaults +wpan-tools +zd1211-firmware +-NetworkManager-pptp +-avahi +-gnome-bluetooth +-gnome-software +-toolbox %end diff --git a/dishes/live-desktop-hypervisor_rawhide.cfg b/dishes/live-desktop-hypervisor_rawhide.cfg new file mode 100644 index 0000000..dd0243a --- /dev/null +++ b/dishes/live-desktop-hypervisor_rawhide.cfg @@ -0,0 +1,314 @@ +# Generated by pykickstart v3.62 +#version=DEVEL +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved,libvirtd" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=none --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part / --fstype="ext4" --size=5120 +part / --size=8576 + +%post --logfile=/mnt/sysimage/root/post.log + +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 # Unsure it is actually useful + +%end + +%post --logfile=/mnt/sysimage/root/post-live-core.log + +# Enable livesys services +systemctl enable livesys.service +systemctl enable livesys-late.service + +# 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* + +# go ahead and pre-make the man -k cache (#455968) +/usr/bin/mandb + +# make sure there aren't core files lying around +rm -f /core* + +# remove random seed, the newly installed instance should make it's own +rm -f /var/lib/systemd/random-seed + +# convince readahead not to collect +# FIXME: for systemd + +echo 'File created by kickstart. See systemd-update-done.service(8).' \ + | tee /etc/.updated >/var/.updated + +# Drop the rescue kernel and initramfs, we don't need them on the live media itself. +# See bug 1317709 +rm -f /boot/*-rescue* + +# Disable network service here, as doing it in the services line +# fails due to RHBZ #1369794 +systemctl disable network + +# Remove machine-id on pre generated images +rm -f /etc/machine-id +touch /etc/machine-id + +%end + +%post --logfile=/mnt/sysimage/root/post-live-session.log + +# set livesys session type +sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log + +# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF +# [org.gnome.desktop.background] +# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg' +# EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +audible-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-files=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome-virtual-machine-manager.log + +# Create a file to autostart virt-manager +cat > /mnt/sysimage/etc/xdg/autostart/virt-manager.desktop << EOF +[Desktop Entry] +Type=Application +Name=Virtual Machine Manager +Exec=virt-manager +EOF + +# Modify the default virt-manager behavior for misc. options +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.override<< EOF + +# Modify the default virt-manager behavior for misc. options +[org.virt-manager.virt-manager] +xmleditor-enabled=true +manager-window-height=600 +manager-window-width=200 + +# Libvirt URIs listed in the manager window +[org.virt-manager.virt-manager.connections] +uris=['qemu:///system', 'qemu:///session'] +autoconnect=['qemu:///session'] + +# Show usage in the domain list +[org.virt-manager.virt-manager.vmlist-fields] +cpu-usage=false + +# Settings related to statistics +[org.virt-manager.virt-manager.stats] +update-interval=3 +enable-disk-poll=true +enable-memory-poll=true +enable-net-poll=true + +# Default behavior for the console +[org.virt-manager.virt-manager.console] +scaling=2 +resize-guest=1 +autoconnect=false + +# Do not show toolbar +[org.virt-manager.virt-manager.details] +show-toolbar=false + +# Modify default values for new VMs +[org.virt-manager.virt-manager.new-vm] +storage-format='raw' +cpu-default='host-model' +graphics-type='spice' + +# Modify the default virt-manager behavior for confirmation dialogues +[org.virt-manager.virt-manager.confirm] +forcepoweroff=false +removedev=false +unapplied-dev=false + +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor.log + +# 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/isos # Create a directory to store iso images. SELinux is already taking this one into account. + +# wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /mnt/sysimage/var/lib/libvirt/isos/ # fetch netboot.xyz iso and store it to the newly created iso directory + +# # virsh commands fail in a kickstart environment (chroot or not it seems). would need to fetch a script and execute post-launch with a delay, for example using a systemd unit +# virsh pool-define-as isos dir - - - - /mnt/sysimage/var/lib/libvirt/isos/ # Make libvirt aware of this new directory by creating a so-called 'pool'. +# virsh pool-build isos # Build the pool +# virsh pool-start isos # Start it +# virsh pool-autostart isos # Set-it to autostart + +# 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 + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/linux.xml +# virsh define linux.xml + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/windows.xml +# virsh define windows.xml + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +@hardware-support +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-backgrounds.noarch +gnome-control-center +gnome-initial-setup +gnome-session-wayland-session +gnome-shell +gvfs-fuse +libusb +libvirt +libvirt-client +libvirt-client-qemu +libvirt-daemon +libvirt-daemon-common +libvirt-daemon-config-network +libvirt-daemon-driver-ch +libvirt-daemon-driver-interface +libvirt-daemon-driver-network +libvirt-daemon-driver-qemu +libvirt-daemon-kvm +libvirt-daemon-log +libvirt-daemon-qemu +libvirt-dbus +libvirt-nss +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +qemu-kvm +usbutils +virt-install +virt-manager +wget + +%end diff --git a/dishes/live-desktop.cfg b/dishes/live-desktop.cfg index aa9b7aa..17a1fd6 100644 --- a/dishes/live-desktop.cfg +++ b/dishes/live-desktop.cfg @@ -102,20 +102,6 @@ sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys %end -%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log - -truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available - -## Append lines to existing vendor.conf file, so that options are skipped upon reboot -cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF -[pages] -skip=privacy -[goa] -providers=local-first! -EOF - -%end - %post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log # cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF @@ -188,87 +174,79 @@ glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ %packages @anaconda-tools @base-graphical +@core @critical-path-gnome -NetworkManager -NetworkManager-config-connectivity-fedora aajohan-comfortaa-fonts +acpi +acpitool +alsa-firmware alsa-sof-firmware amd-gpu-firmware atheros-firmware -audit +atmel-firmware b43-fwcutter b43-openfwwf -basesystem -bash brcmfmac-firmware cirrus-audio-firmware -coreutils +cmospwd curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue +dejavu-sans-mono-fonts dracut-live -e2fsprogs +dvb-firmware fedora-remix-logos -filesystem -firewalld -fwupd +firefox generic-logos generic-release generic-release-common generic-release-notes -glibc glibc-all-langpacks +gnome-backgrounds.noarch gnome-initial-setup -hostname +gpsd +gpsd-clients +hddtemp +hdparm intel-audio-firmware intel-gpu-firmware intel-vsc-firmware -iproute -iputils +iscan-firmware iwlegacy-firmware iwlwifi-dvm-firmware iwlwifi-mvm-firmware -kbd kernel kernel-modules kernel-modules-extra -less libertas-firmware +libifp libusb +liquidio-firmware livesys-scripts -man-db +lsscsi +mlxsw_spectrum-firmware +mozilla-ublock-origin.noarch +mrvlprestera-firmware mt7xxx-firmware nano -ncurses +netronome-firmware nvidia-gpu-firmware nxpwireless-firmware -openssh-clients -openssh-server -parted +opensc pciutils -plymouth -policycoreutils -prefixdevname -procps-ng +pcsc-lite +pcsc-lite-ccid +qcom-accel-firmware +qed-firmware +radeontop realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved tiwilink-firmware usbutils -util-linux -vim-minimal wget -zram-generator-defaults +wpan-tools +zd1211-firmware +-NetworkManager-pptp +-avahi +-gnome-bluetooth +-gnome-software +-toolbox %end diff --git a/dishes/live-desktop_rawhide.cfg b/dishes/live-desktop_rawhide.cfg new file mode 100644 index 0000000..bdbaaf8 --- /dev/null +++ b/dishes/live-desktop_rawhide.cfg @@ -0,0 +1,211 @@ +# Generated by pykickstart v3.62 +#version=DEVEL +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=none --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part / --fstype="ext4" --size=5120 +part / --size=8576 + +%post --logfile=/mnt/sysimage/root/post.log + +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 # Unsure it is actually useful + +%end + +%post --logfile=/mnt/sysimage/root/post-live-core.log + +# Enable livesys services +systemctl enable livesys.service +systemctl enable livesys-late.service + +# 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* + +# go ahead and pre-make the man -k cache (#455968) +/usr/bin/mandb + +# make sure there aren't core files lying around +rm -f /core* + +# remove random seed, the newly installed instance should make it's own +rm -f /var/lib/systemd/random-seed + +# convince readahead not to collect +# FIXME: for systemd + +echo 'File created by kickstart. See systemd-update-done.service(8).' \ + | tee /etc/.updated >/var/.updated + +# Drop the rescue kernel and initramfs, we don't need them on the live media itself. +# See bug 1317709 +rm -f /boot/*-rescue* + +# Disable network service here, as doing it in the services line +# fails due to RHBZ #1369794 +systemctl disable network + +# Remove machine-id on pre generated images +rm -f /etc/machine-id +touch /etc/machine-id + +%end + +%post --logfile=/mnt/sysimage/root/post-live-session.log + +# set livesys session type +sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log + +# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF +# [org.gnome.desktop.background] +# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg' +# EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +audible-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-files=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%packages --exclude-weakdeps +@anaconda-tools +@base-graphical +@core +@hardware-support +aajohan-comfortaa-fonts +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +dracut-live +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +glibc-all-langpacks +gnome-backgrounds.noarch +gnome-control-center +gnome-initial-setup +gnome-session-wayland-session +gnome-shell +gvfs-fuse +kernel +kernel-modules +kernel-modules-extra +libusb +livesys-scripts +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +usbutils +wget + +%end diff --git a/dishes/live-server-hypervisor.cfg b/dishes/live-server-hypervisor.cfg index 63e723c..cbe2a1e 100644 --- a/dishes/live-server-hypervisor.cfg +++ b/dishes/live-server-hypervisor.cfg @@ -132,54 +132,46 @@ mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso image %packages --exclude-weakdeps @anaconda-tools -NetworkManager -NetworkManager-config-connectivity-fedora +@core aajohan-comfortaa-fonts +acpi +acpitool +alsa-firmware alsa-sof-firmware amd-gpu-firmware atheros-firmware -audit +atmel-firmware b43-fwcutter b43-openfwwf -basesystem -bash brcmfmac-firmware cirrus-audio-firmware -coreutils +cmospwd curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue dracut-live -e2fsprogs +dvb-firmware fedora-remix-logos -filesystem -firewalld -fwupd generic-logos generic-release generic-release-common generic-release-notes -glibc glibc-all-langpacks -hostname +gpsd +gpsd-clients +hddtemp +hdparm initial-setup intel-audio-firmware intel-gpu-firmware intel-vsc-firmware -iproute -iputils +iscan-firmware iwlegacy-firmware iwlwifi-dvm-firmware iwlwifi-mvm-firmware -kbd kernel kernel-modules kernel-modules-extra -less libertas-firmware +libifp libusb libvirt libvirt-client @@ -196,39 +188,30 @@ libvirt-daemon-log libvirt-daemon-qemu libvirt-dbus libvirt-nss +liquidio-firmware livesys-scripts -man-db +lsscsi +mlxsw_spectrum-firmware +mrvlprestera-firmware mt7xxx-firmware nano -ncurses +netronome-firmware nvidia-gpu-firmware nxpwireless-firmware -openssh-clients -openssh-server -parted +opensc pciutils -plymouth -policycoreutils -prefixdevname -procps-ng +pcsc-lite +pcsc-lite-ccid +qcom-accel-firmware +qed-firmware qemu-kvm +radeontop realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved tiwilink-firmware usbutils -util-linux -vim-minimal virt-install wget -zram-generator-defaults +wpan-tools +zd1211-firmware %end diff --git a/dishes/live-server-hypervisor_rawhide.cfg b/dishes/live-server-hypervisor_rawhide.cfg new file mode 100644 index 0000000..697e798 --- /dev/null +++ b/dishes/live-server-hypervisor_rawhide.cfg @@ -0,0 +1,174 @@ +# Generated by pykickstart v3.62 +#version=DEVEL +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved,libvirtd" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" +# System bootloader configuration +bootloader --location=none --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part / --fstype="ext4" --size=5120 +part / --size=8576 + +%post --logfile=/mnt/sysimage/root/post.log + +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 # Unsure it is actually useful + +%end + +%post --logfile=/mnt/sysimage/root/post-live-core.log + +# Enable livesys services +systemctl enable livesys.service +systemctl enable livesys-late.service + +# 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* + +# go ahead and pre-make the man -k cache (#455968) +/usr/bin/mandb + +# make sure there aren't core files lying around +rm -f /core* + +# remove random seed, the newly installed instance should make it's own +rm -f /var/lib/systemd/random-seed + +# convince readahead not to collect +# FIXME: for systemd + +echo 'File created by kickstart. See systemd-update-done.service(8).' \ + | tee /etc/.updated >/var/.updated + +# Drop the rescue kernel and initramfs, we don't need them on the live media itself. +# See bug 1317709 +rm -f /boot/*-rescue* + +# Disable network service here, as doing it in the services line +# fails due to RHBZ #1369794 +systemctl disable network + +# Remove machine-id on pre generated images +rm -f /etc/machine-id +touch /etc/machine-id + +%end + +%post --logfile=/mnt/sysimage/root/post-live-session.log + +# set livesys session type +sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor.log + +# 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/isos # Create a directory to store iso images. SELinux is already taking this one into account. + +# wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /mnt/sysimage/var/lib/libvirt/isos/ # fetch netboot.xyz iso and store it to the newly created iso directory + +# # virsh commands fail in a kickstart environment (chroot or not it seems). would need to fetch a script and execute post-launch with a delay, for example using a systemd unit +# virsh pool-define-as isos dir - - - - /mnt/sysimage/var/lib/libvirt/isos/ # Make libvirt aware of this new directory by creating a so-called 'pool'. +# virsh pool-build isos # Build the pool +# virsh pool-start isos # Start it +# virsh pool-autostart isos # Set-it to autostart + +# 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 + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/linux.xml +# virsh define linux.xml + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/windows.xml +# virsh define windows.xml + +%end + +%packages --exclude-weakdeps +@anaconda-tools +@core +@hardware-support +aajohan-comfortaa-fonts +curl +dracut-live +fedora-remix-logos +generic-logos +generic-release +generic-release-common +generic-release-notes +glibc-all-langpacks +initial-setup +kernel +kernel-modules +kernel-modules-extra +libusb +libvirt +libvirt-client +libvirt-client-qemu +libvirt-daemon +libvirt-daemon-common +libvirt-daemon-config-network +libvirt-daemon-driver-ch +libvirt-daemon-driver-interface +libvirt-daemon-driver-network +libvirt-daemon-driver-qemu +libvirt-daemon-kvm +libvirt-daemon-log +libvirt-daemon-qemu +libvirt-dbus +libvirt-nss +livesys-scripts +nano +pciutils +qemu-kvm +usbutils +virt-install +wget + +%end diff --git a/dishes/live-server.cfg b/dishes/live-server.cfg index d980f50..151783d 100644 --- a/dishes/live-server.cfg +++ b/dishes/live-server.cfg @@ -102,67 +102,25 @@ sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys %packages --exclude-weakdeps @anaconda-tools -NetworkManager -NetworkManager-config-connectivity-fedora +@core aajohan-comfortaa-fonts -audit -basesystem -bash -coreutils curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue dracut-live -e2fsprogs fedora-remix-logos -filesystem -firewalld -fwupd generic-logos generic-release generic-release-common generic-release-notes -glibc glibc-all-langpacks -hostname initial-setup -iproute -iputils -kbd kernel kernel-modules kernel-modules-extra -less libusb livesys-scripts -man-db nano -ncurses -openssh-clients -openssh-server -parted pciutils -plymouth -policycoreutils -prefixdevname -procps-ng -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved usbutils -util-linux -vim-minimal wget -zram-generator-defaults %end diff --git a/dishes/live-server_rawhide.cfg b/dishes/live-server_rawhide.cfg new file mode 100644 index 0000000..151783d --- /dev/null +++ b/dishes/live-server_rawhide.cfg @@ -0,0 +1,126 @@ +# Generated by pykickstart v3.62 +#version=DEVEL +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" +# System bootloader configuration +bootloader --location=none --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part / --fstype="ext4" --size=5120 +part / --size=8576 + +%post --logfile=/mnt/sysimage/root/post.log + +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 # Unsure it is actually useful + +%end + +%post --logfile=/mnt/sysimage/root/post-live-core.log + +# Enable livesys services +systemctl enable livesys.service +systemctl enable livesys-late.service + +# 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* + +# go ahead and pre-make the man -k cache (#455968) +/usr/bin/mandb + +# make sure there aren't core files lying around +rm -f /core* + +# remove random seed, the newly installed instance should make it's own +rm -f /var/lib/systemd/random-seed + +# convince readahead not to collect +# FIXME: for systemd + +echo 'File created by kickstart. See systemd-update-done.service(8).' \ + | tee /etc/.updated >/var/.updated + +# Drop the rescue kernel and initramfs, we don't need them on the live media itself. +# See bug 1317709 +rm -f /boot/*-rescue* + +# Disable network service here, as doing it in the services line +# fails due to RHBZ #1369794 +systemctl disable network + +# Remove machine-id on pre generated images +rm -f /etc/machine-id +touch /etc/machine-id + +%end + +%post --logfile=/mnt/sysimage/root/post-live-session.log + +# set livesys session type +sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys + +%end + +%packages --exclude-weakdeps +@anaconda-tools +@core +aajohan-comfortaa-fonts +curl +dracut-live +fedora-remix-logos +generic-logos +generic-release +generic-release-common +generic-release-notes +glibc-all-langpacks +initial-setup +kernel +kernel-modules +kernel-modules-extra +libusb +livesys-scripts +nano +pciutils +usbutils +wget + +%end diff --git a/dishes/virtual-desktop_43.cfg b/dishes/virtual-desktop_43.cfg index 47f4e49..a8f84c6 100644 --- a/dishes/virtual-desktop_43.cfg +++ b/dishes/virtual-desktop_43.cfg @@ -47,20 +47,6 @@ grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful %end -%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log - -truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available - -## Append lines to existing vendor.conf file, so that options are skipped upon reboot -cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF -[pages] -skip=privacy -[goa] -providers=local-first! -EOF - -%end - %post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log # cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF @@ -132,83 +118,32 @@ glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ %packages --exclude-weakdeps @base-graphical -@critical-path-gnome -NetworkManager -NetworkManager-config-connectivity-fedora -alsa-sof-firmware -amd-gpu-firmware -atheros-firmware -audit -b43-fwcutter -b43-openfwwf -basesystem -bash -brcmfmac-firmware -cirrus-audio-firmware -coreutils +@core +bash-color-prompt curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs +dconf +dejavu-sans-mono-fonts fedora-remix-logos -filesystem -firewalld -fwupd +firefox +gdm generic-logos generic-release generic-release-common generic-release-notes -glibc +gnome-backgrounds.noarch +gnome-control-center gnome-initial-setup -hostname -intel-audio-firmware -intel-gpu-firmware -intel-vsc-firmware -iproute -iputils -iwlegacy-firmware -iwlwifi-dvm-firmware -iwlwifi-mvm-firmware -kbd -kernel -less -libertas-firmware +gnome-session-wayland-session +gnome-shell +gvfs-fuse libusb -man-db -mt7xxx-firmware +mozilla-ublock-origin.noarch nano -ncurses -nvidia-gpu-firmware -nxpwireless-firmware -openssh-clients -openssh-server -parted +nautilus pciutils -plymouth -policycoreutils -prefixdevname -procps-ng qemu-guest-agent -realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils spice-vdagent -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved -tiwilink-firmware usbutils -util-linux -vim-minimal wget -zram-generator-defaults %end diff --git a/dishes/virtual-desktop_43_devel.cfg b/dishes/virtual-desktop_43_devel.cfg index 568fc4c..32e2d78 100644 --- a/dishes/virtual-desktop_43_devel.cfg +++ b/dishes/virtual-desktop_43_devel.cfg @@ -4,6 +4,8 @@ text # Firewall configuration firewall --enabled --service=ssh +# Run the Setup Agent on first boot +firstboot --reconfig # Keyboard layouts keyboard --xlayouts='ch (fr)' # System language @@ -108,63 +110,32 @@ glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ %packages --exclude-weakdeps @base-graphical -@critical-path-gnome -NetworkManager -NetworkManager-config-connectivity-fedora -audit -basesystem -bash -coreutils +@core +bash-color-prompt curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs +dconf +dejavu-sans-mono-fonts fedora-remix-logos -filesystem -firewalld -fwupd +firefox +gdm generic-logos generic-release generic-release-common generic-release-notes -glibc -hostname -iproute -iputils -kbd -kernel -less +gnome-backgrounds.noarch +gnome-control-center +gnome-initial-setup +gnome-session-wayland-session +gnome-shell +gvfs-fuse libusb -man-db +mozilla-ublock-origin.noarch nano -ncurses -openssh-clients -openssh-server -parted +nautilus pciutils -plymouth -policycoreutils -prefixdevname -procps-ng qemu-guest-agent -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils spice-vdagent -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved usbutils -util-linux -vim-minimal wget -zram-generator-defaults %end diff --git a/dishes/virtual-desktop_devel_rawhide.cfg b/dishes/virtual-desktop_devel_rawhide.cfg index 7d16e64..79b6046 100644 --- a/dishes/virtual-desktop_devel_rawhide.cfg +++ b/dishes/virtual-desktop_devel_rawhide.cfg @@ -107,80 +107,34 @@ glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ %end -%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log - -truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available - -## Append lines to existing vendor.conf file, so that options are skipped upon reboot -cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF -[pages] -skip=privacy -[goa] -providers=local-first! -EOF - -%end - %packages --exclude-weakdeps @base-graphical -@critical-path-gnome -NetworkManager -NetworkManager-config-connectivity-fedora -audit -basesystem -bash -coreutils +@core +bash-color-prompt curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs +dconf +dejavu-sans-mono-fonts fedora-remix-logos -filesystem -firewalld -fwupd +firefox +gdm generic-logos generic-release generic-release-common generic-release-notes -glibc +gnome-backgrounds.noarch +gnome-control-center gnome-initial-setup -hostname -iproute -iputils -kbd -kernel -less +gnome-session-wayland-session +gnome-shell +gvfs-fuse libusb -man-db +mozilla-ublock-origin.noarch nano -ncurses -openssh-clients -openssh-server -parted +nautilus pciutils -plymouth -policycoreutils -prefixdevname -procps-ng qemu-guest-agent -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils spice-vdagent -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved usbutils -util-linux -vim-minimal wget -zram-generator-defaults %end diff --git a/dishes/virtual-desktop_labwc_43.cfg b/dishes/virtual-desktop_labwc_43.cfg new file mode 100644 index 0000000..cfb1e4c --- /dev/null +++ b/dishes/virtual-desktop_labwc_43.cfg @@ -0,0 +1,72 @@ +# Generated by pykickstart v3.62 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +# X Window System configuration information +xconfig --startxonboot +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label=efi +part /boot --fstype="ext4" --size=2048 --label=boot +part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit" + +%post --logfile=/mnt/sysimage/root/post.log + +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 # Unsure it is actually useful + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +curl +fedora-remix-logos +firefox +generic-logos +generic-release +generic-release-common +generic-release-notes +initial-setup-gui +initial-setup-gui-wayland-generic +labwc +libusb +mozilla-ublock-origin.noarch +nano +pciutils +qemu-guest-agent +spice-vdagent +usbutils +wget + +%end diff --git a/dishes/virtual-desktop_rawhide.cfg b/dishes/virtual-desktop_rawhide.cfg index ce850b5..12af5cf 100644 --- a/dishes/virtual-desktop_rawhide.cfg +++ b/dishes/virtual-desktop_rawhide.cfg @@ -46,20 +46,6 @@ grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful %end -%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log - -truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available - -## Append lines to existing vendor.conf file, so that options are skipped upon reboot -cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF -[pages] -skip=privacy -[goa] -providers=local-first! -EOF - -%end - %post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log # cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF @@ -131,83 +117,32 @@ glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ %packages --exclude-weakdeps @base-graphical -@critical-path-gnome -NetworkManager -NetworkManager-config-connectivity-fedora -alsa-sof-firmware -amd-gpu-firmware -atheros-firmware -audit -b43-fwcutter -b43-openfwwf -basesystem -bash -brcmfmac-firmware -cirrus-audio-firmware -coreutils +@core +bash-color-prompt curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs +dconf +dejavu-sans-mono-fonts fedora-remix-logos -filesystem -firewalld -fwupd +firefox +gdm generic-logos generic-release generic-release-common generic-release-notes -glibc +gnome-backgrounds.noarch +gnome-control-center gnome-initial-setup -hostname -intel-audio-firmware -intel-gpu-firmware -intel-vsc-firmware -iproute -iputils -iwlegacy-firmware -iwlwifi-dvm-firmware -iwlwifi-mvm-firmware -kbd -kernel -less -libertas-firmware +gnome-session-wayland-session +gnome-shell +gvfs-fuse libusb -man-db -mt7xxx-firmware +mozilla-ublock-origin.noarch nano -ncurses -nvidia-gpu-firmware -nxpwireless-firmware -openssh-clients -openssh-server -parted +nautilus pciutils -plymouth -policycoreutils -prefixdevname -procps-ng qemu-guest-agent -realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils spice-vdagent -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved -tiwilink-firmware usbutils -util-linux -vim-minimal wget -zram-generator-defaults %end diff --git a/dishes/virtual-server_43.cfg b/dishes/virtual-server_43.cfg index 6cf6468..f0ba13e 100644 --- a/dishes/virtual-server_43.cfg +++ b/dishes/virtual-server_43.cfg @@ -46,82 +46,20 @@ grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful %end %packages --exclude-weakdeps -NetworkManager -NetworkManager-config-connectivity-fedora -alsa-sof-firmware -amd-gpu-firmware -atheros-firmware -audit -b43-fwcutter -b43-openfwwf -basesystem -bash -brcmfmac-firmware -cirrus-audio-firmware -coreutils +@core curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs fedora-remix-logos -filesystem -firewalld -fwupd generic-logos generic-release generic-release-common generic-release-notes -glibc -hostname initial-setup -intel-audio-firmware -intel-gpu-firmware -intel-vsc-firmware -iproute -iputils -iwlegacy-firmware -iwlwifi-dvm-firmware -iwlwifi-mvm-firmware -kbd -kernel -less -libertas-firmware libusb -man-db -mt7xxx-firmware nano -ncurses -nvidia-gpu-firmware -nxpwireless-firmware -openssh-clients -openssh-server -parted pciutils -plymouth -policycoreutils -prefixdevname -procps-ng qemu-guest-agent -realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils spice-vdagent -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved -tiwilink-firmware usbutils -util-linux -vim-minimal wget -zram-generator-defaults %end diff --git a/dishes/virtual-server_devel_43.cfg b/dishes/virtual-server_devel_43.cfg index c185d16..fdc80bf 100644 --- a/dishes/virtual-server_devel_43.cfg +++ b/dishes/virtual-server_devel_43.cfg @@ -36,62 +36,19 @@ part /boot --fstype="ext4" --size=2048 --label=boot part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit" %packages --exclude-weakdeps -NetworkManager -NetworkManager-config-connectivity-fedora -audit -basesystem -bash -coreutils +@core curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs fedora-remix-logos -filesystem -firewalld -fwupd generic-logos generic-release generic-release-common generic-release-notes -glibc -hostname -iproute -iputils -kbd -kernel -less libusb -man-db nano -ncurses -openssh-clients -openssh-server -parted pciutils -plymouth -policycoreutils -prefixdevname -procps-ng qemu-guest-agent -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils spice-vdagent -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved usbutils -util-linux -vim-minimal wget -zram-generator-defaults %end diff --git a/dishes/virtual-server_devel_rawhide.cfg b/dishes/virtual-server_devel_rawhide.cfg index 2350df7..f90487e 100644 --- a/dishes/virtual-server_devel_rawhide.cfg +++ b/dishes/virtual-server_devel_rawhide.cfg @@ -35,62 +35,19 @@ part /boot --fstype="ext4" --size=2048 --label=boot part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit" %packages --exclude-weakdeps -NetworkManager -NetworkManager-config-connectivity-fedora -audit -basesystem -bash -coreutils +@core curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs fedora-remix-logos -filesystem -firewalld -fwupd generic-logos generic-release generic-release-common generic-release-notes -glibc -hostname -iproute -iputils -kbd -kernel -less libusb -man-db nano -ncurses -openssh-clients -openssh-server -parted pciutils -plymouth -policycoreutils -prefixdevname -procps-ng qemu-guest-agent -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils spice-vdagent -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved usbutils -util-linux -vim-minimal wget -zram-generator-defaults %end diff --git a/dishes/virtual-server_rawhide.cfg b/dishes/virtual-server_rawhide.cfg index 8b81ad8..5516d3d 100644 --- a/dishes/virtual-server_rawhide.cfg +++ b/dishes/virtual-server_rawhide.cfg @@ -45,82 +45,20 @@ grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful %end %packages --exclude-weakdeps -NetworkManager -NetworkManager-config-connectivity-fedora -alsa-sof-firmware -amd-gpu-firmware -atheros-firmware -audit -b43-fwcutter -b43-openfwwf -basesystem -bash -brcmfmac-firmware -cirrus-audio-firmware -coreutils +@core curl -dhcp-client -dnf5 -dnf5-plugins -dracut -dracut-config-rescue -e2fsprogs fedora-remix-logos -filesystem -firewalld -fwupd generic-logos generic-release generic-release-common generic-release-notes -glibc -hostname initial-setup -intel-audio-firmware -intel-gpu-firmware -intel-vsc-firmware -iproute -iputils -iwlegacy-firmware -iwlwifi-dvm-firmware -iwlwifi-mvm-firmware -kbd -kernel -less -libertas-firmware libusb -man-db -mt7xxx-firmware nano -ncurses -nvidia-gpu-firmware -nxpwireless-firmware -openssh-clients -openssh-server -parted pciutils -plymouth -policycoreutils -prefixdevname -procps-ng qemu-guest-agent -realtek-firmware -rootfiles -rpm -selinux-policy-targeted -setup -shadow-utils spice-vdagent -sssd-common -sssd-kcm -sudo -systemd -systemd-resolved -tiwilink-firmware usbutils -util-linux -vim-minimal wget -zram-generator-defaults %end