This is an automated email from the git hooks/post-receive script.
kevin pushed a commit to branch f37
in repository fedora-kickstarts.
commit 96c9895671e162d0bfcfc749c8253efe68461ccf
Author: Peter Boy <pb(a)resdigita.de>
AuthorDate: Wed Aug 10 16:30:04 2022 +0200
Initial kickstart file for new Fedora Server VM image
---
fedora-server-vm-full.ks | 180 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 180 insertions(+)
diff --git a/fedora-server-vm-full.ks b/fedora-server-vm-full.ks
new file mode 100755
index 0000000..820335a
--- /dev/null
+++ b/fedora-server-vm-full.ks
@@ -0,0 +1,180 @@
+# fedora-server-vm-full.ks
+# Kickstart file to build a Fedora Server Edition VM disk image.
+# The image aims to resemble as close as technically possible the
+# full features of a Fedora Server Edition in a virtual machine.
+#
+# At first boot it opens a test based basic configuration screen.
+#
+# This kickstart file is designed to be used with ImageFactory (in Koji).
+#
+# To build the image locally, you need to install ImageFactory and
+# various additional helpers and configuration files.
+# See Fedora Server Edition user documentation tutorial.
+
+
+# Keyboard layouts
+keyboard 'us'
+
+# Root password
+rootpw --iscrypted --lock locked
+
+# System language
+lang en_US.UTF-8
+
+# Shutdown after installation
+shutdown
+
+# Use text mode install
+text
+
+# Network information
+network --bootproto=dhcp --device=link --activate --onboot=on
+
+# Firewall configuration
+firewall --enabled --service=mdns
+
+# System timezone
+# set time zone to GMT (Etcetera/UTC)
+timezone Etc/UTC --utc
+
+# Run the Setup Agent on first boot
+firstboot --reconfig
+
+# SELinux configuration
+selinux --enforcing
+
+# System services
+# message: error enabling initial-setup, initial-setup does not exist
+services --enabled="sshd,NetworkManager,chronyd,initial-setup"
+
+# System bootloader configuration
+bootloader --location=mbr --timeout=1 --append="console=tty1
console=ttyS0,115200n8"
+
+# Partition Information. Use default partitioning as configured in Anaconda on
+# Server Edition distribution media
+autopart --noswap
+# Clear the Master Boot Record
+zerombr
+# Partition clearing information
+clearpart --all --initlabel --disklabel=msdos
+
+%post --erroronfail
+
+# Find the architecture we are on
+arch=$(uname -m)
+
+# Import RPM GPG key, during installation saved in /etc/pki
+echo "Import RPM GPG key"
+releasever=$(rpm --eval '%{fedora}')
+basearch=$(uname -i)
+rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+
+# See the systemd-random-seed.service man page that says:
+# " It is recommended to remove the random seed from OS images intended
+# for replication on multiple systems"
+# The newly installed instance should make it's own
+echo "Removing random-seed so it's not the same in every image."
+rm -f /var/lib/systemd/random-seed
+
+# When we build the image a networking config file gets left behind.
+# Let's clean it up.
+echo "Cleanup leftover networking configuration"
+rm -f /etc/NetworkManager/system-connections/*.nmconnection
+
+dnf -y remove dracut-config-generic
+
+# Remove machine-id on pre generated images
+rm -f /etc/machine-id
+touch /etc/machine-id
+
+# Truncate the /etc/resolv.conf left over from NetworkManager during the
+# kickstart. This causes delays in boot with cloud-init because the
+# 192.168.122.1 DNS server cannot be reached.
+truncate -s 0 /etc/resolv.conf
+
+# linux-firmware is installed by default and is quite large. As of mid 2020:
+# Total download size: 97 M
+# Installed size: 268 M
+# So far we've been fine shipping without it so let's continue.
+# More discussion about this in #1234504.
+echo "Removing linux-firmware package."
+rpm -e linux-firmware
+
+echo "Packages within this disk image"
+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*
+
+
+if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then
+
+# Anaconda adds console=tty0 to the grub boot line on all images. this is problematic
+# when you are using fedora via serial console as you do not get any output post grub
+# linux does a good job of knowing what consoles need to be enabled.
+#
https://bugzilla.redhat.com/show_bug.cgi?id=2022757
+sed -i -e 's|console=tty0||g' /boot/loader/entries/*conf
+
+fi
+
+
+# Cleanup dnf packages
+echo "Cleaning old yum repodata."
+dnf clean all
+
+echo "Zeroing out empty space."
+# Create zeros file with nodatacow and no compression
+touch /var/tmp/zeros
+chattr +C /var/tmp/zeros
+# This forces the filesystem to reclaim space from deleted files
+dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
+echo "(Don't worry -- that out-of-space error was expected.)"
+# Force sync to disk
+sync /
+rm -f /var/tmp/zeros
+sync /
+
+%end
+
+
+%post
+
+# setup systemd to boot to the right runlevel
+echo -n "Setting default runlevel to multiuser text mode"
+rm -f /etc/systemd/system/default.target
+ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
+echo .
+
+%end
+
+%packages --inst-langs=en
+
+@server-product
+@core
+@headless-management
+@standard
+@networkmanager-submodules
+##@container-management
+@domain-client
+@guest-agents
+
+# All arm-tools packages install on aarch64/armhfp only
+# TODO: on a x86_64 devel environment are @arm-tools not available
+# and cause a build error.
+# @arm-tools
+
+# Standard Fedora Package Groups
+## dracut-config-generic ## included in =core=
+glibc-all-langpacks
+initial-setup
+kernel-core
+-dracut-config-rescue
+-generic-release*
+-initial-setup-gui
+-kernel
+-plymouth
+# pulled in by @standard
+-smartmontools
+-smartmontools-selinux
+
+%end
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.