165 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			165 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
| #            __          ____                        ____  _____
 | |
| #     ____  / /_  __  __/ / /___  ____ ___  ___     / __ \/ ___/
 | |
| #    / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \   / / / /\__ \
 | |
| #   / /_/ / / / / /_/ / / / /_/ / / / / / /  __/  / /_/ /___/ /
 | |
| #  / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/   \____//____/
 | |
| # /_/          /____/
 | |
| 
 | |
| # WHAT ? This Kickstart file that bootstraps a minimal fedora 34 server.
 | |
| # 'v' for virtual machine, 'e' for efi, 'n' for 'non-lvm', 'd' for desktop, 'd' for development.
 | |
| 
 | |
| # USAGE : Press the `tab` or 'e' key during POST and apend that after the 'quiet' string : 
 | |
| # inst.ks=https://git.phyllo.me/home/kickstart/raw/branch/master/leafs/vendd.cfg
 | |
| # A shorter URL can also be used :
 | |
| # inst.ks=https://url.phyllo.me/vendd
 | |
| 
 | |
| # ATTENTION : this kickstart file will automatically DESTROY the main virtual disk 'vda' and all of its contents. 
 | |
| # Bye bye!
 | |
| 
 | |
| ## INSTALLATION SOURCE ##
 | |
| 
 | |
| # Configure the cdrom as the installation method
 | |
| cdrom
 | |
| 
 | |
| # Set URL
 | |
| url --url="http://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os"
 | |
| 
 | |
| ## INSTALLATION TYPE ##
 | |
| 
 | |
| # Perform Installation in text mode
 | |
| text
 | |
| 
 | |
| ## REPOSITORIES ##
 | |
| 
 | |
| # Add mirro and repo
 | |
| url --mirrorlist="https://mirrors.fedoraproject.org/metalink?repo=fedora-34&arch=x86_64"
 | |
| repo --name=fedora-updates --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f34&arch=x86_64" --cost=0
 | |
| 
 | |
| ## USER RELATED ##
 | |
| 
 | |
| # Keyboard layouts -> Doesn't seem to survive a reboot
 | |
| keyboard --xlayouts='ch (fr)'
 | |
| 
 | |
| # Set the system language to American English
 | |
| lang en_US.UTF-8
 | |
| 
 | |
| # System timezone
 | |
| timezone Europe/Paris --utc # Pour Paris !
 | |
| 
 | |
| # Set root password and activate the account
 | |
| rootpw --iscrypted $6$2rA58L/SQu5.xMTb$u8.zqBWE5bK1/N983qDpJEp41yg66GwQ3YVTpsRghVhNiZypWyo2Zq2Qwr2tCM3bt50mKMIgHzbPdtSq9ErPz.
 | |
| 
 | |
| # Create "test" user account
 | |
| user --name=test --password=$6$wlB.n8fvumAXv3xn$clVIswjLUjb7MZoJ2JHi1zk1zmx5ViQuzbVkLYf70SDan5hdqI0tUkc89nHE8pVnHStO4mcl3c1Tk0WJvCet1. --iscrypted --gecos="test"
 | |
| 
 | |
| ## NETWORK RELATED ##
 | |
| 
 | |
| # Configure Firewall
 | |
| firewall --disabled
 | |
| 
 | |
| # Configure Network Interfaces
 | |
| network --onboot=yes --bootproto=dhcp --hostname=vendd
 | |
| 
 | |
| # Run the Setup Agent on first boot
 | |
| firstboot --enable
 | |
| 
 | |
| ## DISK RELATED ##
 | |
| 
 | |
| # Only use disk labelled as vda
 | |
| ignoredisk --only-use=vda
 | |
| 
 | |
| # System bootloader configuration
 | |
| bootloader --location=mbr
 | |
| 
 | |
| # WARNING : Dangerous command ! Will clear the Master Boot Record 
 | |
| zerombr
 | |
| 
 | |
| # Partition clearing information
 | |
| clearpart --all --initlabel --drives=vda
 | |
| 
 | |
| # Disk partitioning information. 
 | |
| # Will create an efi partitition of 128 MiB, a boot partition of 350 MiB on disk vda using the ext4 filesystem. The remaining space will be used for root. 
 | |
| part /boot/efi --fstype="efi" --ondisk=vda --size=128 --fsoptions="umask=0077,shortname=winnt" --label=efi
 | |
| part /boot --fstype="ext4" --ondisk=vda --size=350 --label=boot
 | |
| part / --fstype="ext4" --ondisk=vda --grow --label=system
 | |
| 
 | |
| ## SOFTWARE ##
 | |
| 
 | |
| # Install packages for the server environment. 'Core' and 'Base' are always selected 
 | |
| %packages  
 | |
| @core
 | |
| 
 | |
| ## Desktop-related packages to create a minimal desktop environment. 
 | |
| # Impossible to install dependencies, probably because the Fedora Server ISO doesnt' include them. 
 | |
| # We may switch to the Workstation ISO as a workaround 
 | |
| # We install packages after the installation   
 | |
| # 
 | |
| # gnome-shell # Minimal GNOME environement
 | |
| # libpulse-mainloop-glib.so.0 # gnome-shell dependency
 | |
| # libpulse.so.0 # gnome-shell dependency
 | |
| # geoclue2-libs # gnome-shell dependency
 | |
| # accountsservice-libs # gnome-shell dependency
 | |
| # bolt # gnome-shell dependency
 | |
| # control-center # gnome-shell dependency
 | |
| # gdm-libs # gnome-shell dependency
 | |
| # highcontrast-icon-theme # gnome-shell dependency
 | |
| # switcheroo-control # gnome-shell dependency
 | |
| # upower # gnome-shell dependency
 | |
| # xdg-user-dirs-gtk # gnome-shell dependency
 | |
| # libgweather # gnome-shell dependency
 | |
| # gnome-bluetooth # gnome-shell dependency
 | |
| # xdg-desktop-portal-gtk # gnome-shell dependency 
 | |
| # 
 | |
| # gnome-terminal 
 | |
| # -gnome-tour # We don't want GNOME-tour to open at launch so we delete it
 | |
| # 
 | |
| # nautilus # Default File explorer for Gnome
 | |
| # gnome-terminal-nautilus # Terminal integration for Nautilus 
 | |
| # gsettings-desktop-schemas # Nautilus dependency
 | |
| # libtracker-sparql-3.0.so.0 # Nautilus dependency
 | |
| # tracker3-miners # Nautilus dependency
 | |
| # libgexiv2.so.2 # Nautilus dependency
 | |
| # 
 | |
| # 
 | |
| # firefox # Internet browser
 | |
| # libfdk-aac.so.2 # Firefox dependency
 | |
| # libdbus-glib-1.so.2 # Firefox dependency
 | |
| # mozilla-filesystem-1.9-25 # Firefox dependency
 | |
| # 
 | |
| qemu-guest-agent # Install software to allow the host to better interact with the guest (can't find the spice-vdagent package)
 | |
| ## spice-vdagent
 | |
| 
 | |
| -fedora-logos # To be removed if we want to redistribute as Fedora Remix. 
 | |
| -fedora-release-notes  # To be removed if we want to redistribute as Fedora Remix. 
 | |
| 
 | |
| %end
 | |
| 
 | |
| ## POST-INSTALLATION SCRIPTS ##
 | |
| 
 | |
| ## Start of the %post section with logging into /root/ks-post.log
 | |
| %post --log=/root/ks-post.log
 | |
| 
 | |
| localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked
 | |
| 
 | |
| # dnf update -y # Update the system
 | |
| 
 | |
| systemctl set-default graphical.target # Set the desktop environment as the default booting target with systemd
 | |
| 
 | |
| dnf install -y gnome-shell gnome-terminal nano # Minimal GNOME shell or desktop environment plus the text nano editor
 | |
| dnf install -y nautilus gnome-terminal-nautilus # Default File explorer for GNOME and its integration with gnome-shell
 | |
| dnf install -y gedit # The official gnome text editor
 | |
| dnf install -y firefox # Internet browser
 | |
| dnf install -y spice-vdagent # Try to install spice-vdagent after the installation is done
 | |
| dnf install -y dejavu-sans-mono-fonts # the gnome-shell package doesn't include much fonts by default, resulting in weird spacings in gnome-terminal. 
 | |
| dnf install -y elementary-wallpapers-gnome.noarch # Gorgeous wallpapers
 | |
| dnf install -y wpa_supplicant # WPA Supplicant for Linux. Not integrated by default in gnome-shell, but necessary to configure wireless networks through the Network Manager. 
 | |
| dnf remove -y gnome-tour # We don't want GNOME-tour to open at launch so we delete it
 | |
| 
 | |
| sed -i 's/5/1/' /etc/default/grub # set the GRUB_TIMEOUT countdown to 1 instead of 5 seconds.
 | |
| 
 | |
| grub2-mkconfig -o /boot/grub2/grub.cfg # Update grub 
 | |
| 
 | |
| reboot # Reboot the installer (doesn't work (tm))
 | |
| 
 | |
| %end # End of the %post section
 |