From 1561be2dc3a78b6ca8ba6e08f9cdeb319c8754fb Mon Sep 17 00:00:00 2001 From: Lukas Date: Sun, 28 Nov 2021 18:05:00 +0100 Subject: [PATCH] create new end-product doesn't yet work, cannot find the repo --- leaves/virtual-phyllome-desktop-cdrom.cfg | 154 ++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 leaves/virtual-phyllome-desktop-cdrom.cfg diff --git a/leaves/virtual-phyllome-desktop-cdrom.cfg b/leaves/virtual-phyllome-desktop-cdrom.cfg new file mode 100644 index 0000000..3955b6f --- /dev/null +++ b/leaves/virtual-phyllome-desktop-cdrom.cfg @@ -0,0 +1,154 @@ +# Generated by pykickstart v3.34 +#version=DEVEL +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# Root password +rootpw --iscrypted --lock locked +# System language +lang en_US.UTF-8 +# Reboot after installation +reboot --kexec +# Use text mode install +text +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Firewall configuration +firewall --enabled --service=mdns +# System timezone +timezone Europe/Paris --utc +# Use CDROM installation media +cdrom +# SELinux configuration +selinux --enforcing +# System services +services --disabled="sshd" --enabled="NetworkManager,libvirtd" +# 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=128 --fsoptions="umask=0077,shortname=winnt" --label=efi +part /boot --fstype="ext4" --size=384 --label=boot +part / --fstype="ext4" --grow --label=root + +%post --logfile=/root/b.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/opt/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 + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/bh.log +# %post --log=/root/bh.log # Beginning of %post section. Those commands are executed outside the chroot environment. Logging is enabled to help with post-installation troubleshooting + +mkdir /mnt/sysimage/var/lib/libvirt/iso # Create a directory to store iso images + +wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /mnt/sysimage/var/lib/libvirt/iso/ # fetch netboot.xyz iso + +# fetch custom script and make it executable +wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post/configure-vmm-and-desktop.sh -P /mnt/sysimage/usr/sbin/ +chmod +x /mnt/sysimage/usr/sbin/configure-vmm-and-desktop.sh + +# fetch custom script and make it executable +wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post/create-live-vm.sh -P /mnt/sysimage/usr/sbin/ +chmod +x /mnt/sysimage/usr/sbin/create-live-vm.sh + +# fetch custom script and make it executable +wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post/virtualization-tweaks-root-needed.sh -P /mnt/sysimage/usr/sbin/ +chmod +x /mnt/sysimage/usr/sbin/virtualization-tweaks-root-needed.sh + +# # Create new file /etc/systemd/system/postinstall.service using cat: +# cat > /mnt/sysimage/etc/systemd/system/post-install.service<< EOF +# [Unit] +# Description=Post-installation configuration for Phyllome OS +# After=gdm.service +# Requires=gdm.service +# +# [Service] +# Type=oneshot +# ExecStart=/bin/bash /usr/sbin/post-install.sh +# RemainAfterExit=yes +# +# [Install] +# WantedBy=multi-user.target +# EOF +# +# systemctl enable /mnt/sysimage/etc/systemd/system/post-install.service # Enable systemd unit + +# Add a network bridge. Still need to declare it to libvirt/virt-manager +# nmcli con add ifname br0 type bridge con-name br0 +# nmcli con add type bridge-slave ifname enp1s0 master br0 # to-do : generalize this command so that it could regardless of the name of the ethernet device +# nmcli con up br0 + +%end + +%post --nochroot --logfile=/mnt/sysimage/opt/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 +@core +@hardware-support +dejavu-sans-mono-fonts +elementary-wallpapers-gnome.noarch +fedora-remix-logos +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-initial-setup +gnome-shell +gnome-terminal +guestfs-tools +libguestfs-tools +libvirt +libvirt-daemon-config-network +libvirt-daemon-kvm +mesa-dri-drivers +nano +neofetch +pciutils +python3-libguestfs +qemu-guest-agent +qemu-kvm +spice-vdagent +virt-install +virt-manager +virt-top +wget +wpa_supplicant +-fedora-logos +-fedora-release +-fedora-release-common +-fedora-release-identity-basic +-fedora-release-notes +-gnome-tour + +%end