Add generic Fedora kickstarts
* `fedora.ks` is used for virtual machines running Fedora Linux * `fedora-rpi.ks` is for Raspberry Pi machines * `common.ks` is shared between the twomaster
parent
717f17893e
commit
be24a5dd52
|
@ -0,0 +1,101 @@
|
||||||
|
# vim: set ft=sh :
|
||||||
|
text
|
||||||
|
url --url http://dl.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os
|
||||||
|
repo --name=updates --baseurl=http://dl.fedoraproject.org/pub/fedora/linux/updates/$releasever/Everything/$basearch
|
||||||
|
repo --name=dch --baseurl=http://files.pyrocufflink.blue/yum/dch/fedora/$releasever
|
||||||
|
lang en_US.UTF-8
|
||||||
|
keyboard us
|
||||||
|
timezone --utc UTC
|
||||||
|
rootpw --lock
|
||||||
|
reboot
|
||||||
|
|
||||||
|
%packages --exclude-weakdeps
|
||||||
|
-NetworkManager
|
||||||
|
-authconfig
|
||||||
|
-dhcp-client
|
||||||
|
-dnf-plugins-core
|
||||||
|
-dnf-yum
|
||||||
|
-dracut-config-rescue
|
||||||
|
-man-db
|
||||||
|
-openssh-clients
|
||||||
|
-parted
|
||||||
|
-plymouth
|
||||||
|
-sssd-common
|
||||||
|
-sssd-kcm
|
||||||
|
-sudo
|
||||||
|
-yum
|
||||||
|
chrony
|
||||||
|
dnf
|
||||||
|
e2fsprogs
|
||||||
|
grubby
|
||||||
|
kitty-terminfo
|
||||||
|
openssh-server
|
||||||
|
python3-libselinux
|
||||||
|
python3-policycoreutils
|
||||||
|
rng-tools
|
||||||
|
selinux-policy-targeted
|
||||||
|
sshca-cli-systemd
|
||||||
|
systemd-networkd
|
||||||
|
%end
|
||||||
|
|
||||||
|
services --enabled systemd-networkd,systemd-resolved,ssh-host-certs-renew.timer,ssh-host-certs.target --disabled systemd-homed,systemd-nsresourced,systemd-nsresourced.socket,systemd-userdbd,systemd-userdbd.socket
|
||||||
|
|
||||||
|
%addon com_redhat_kdump --disable
|
||||||
|
%end
|
||||||
|
|
||||||
|
%post --erroronfail
|
||||||
|
export NO_PROXY='pyrocufflink.blue,*.pyrocufflink.blue'
|
||||||
|
|
||||||
|
echo 'install_weak_deps=0' >> /etc/dnf/dnf.conf
|
||||||
|
echo 'deltarpm=0' >> /etc/dnf/dnf.conf
|
||||||
|
echo '%_excludedocs 1' >> /etc/rpm/macros
|
||||||
|
|
||||||
|
# Set the hostname
|
||||||
|
hostname -f > /etc/hostname
|
||||||
|
|
||||||
|
# Trust SSHCA to authenticate users
|
||||||
|
curl -fsSL https://sshca.pyrocufflink.blue/user/ca > /etc/ssh/ca.pub
|
||||||
|
test -s /etc/ssh/ca.pub || exit
|
||||||
|
cat >> /etc/ssh/sshd_config.d/70-trustedusercakeys.conf <<'EOF'
|
||||||
|
TrustedUserCAKeys /etc/ssh/ca.pub
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Configure SSH daemon to use host certificates obtained from SSHCA
|
||||||
|
cat > /etc/sysconfig/ssh-host-cert-sign <<EOF
|
||||||
|
SSHCA_SERVER=https://sshca.pyrocufflink.blue
|
||||||
|
EOF
|
||||||
|
for a in ecdsa ed25519 rsa; do
|
||||||
|
printf 'HostCertificate /etc/ssh/ssh_host_%s_key-cert.pub\n' "${a}"
|
||||||
|
done > /etc/ssh/sshd_config.d/10-hostcertificate.conf
|
||||||
|
|
||||||
|
# Configure networking with systemd-networkd
|
||||||
|
# Use MAC address as client ID to keep the same lease from Anaconda
|
||||||
|
rm -rf /etc/sysconfig/network-scripts /etc/sysconfig/network
|
||||||
|
cat > /etc/systemd/network/99-default.network <<EOF
|
||||||
|
[Match]
|
||||||
|
Name=en*
|
||||||
|
Type=ether
|
||||||
|
|
||||||
|
[Network]
|
||||||
|
DHCP=true
|
||||||
|
|
||||||
|
[DHCPv4]
|
||||||
|
ClientIdentifier=mac
|
||||||
|
UseDomain=true
|
||||||
|
EOF
|
||||||
|
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
|
||||||
|
|
||||||
|
# systemd-getty-generator is broken in F40
|
||||||
|
if [ $(rpm -E %fedora) -eq 40 ]; then
|
||||||
|
console=$(cat /sys/class/tty/console/active)
|
||||||
|
case "${console}" in
|
||||||
|
ttyS*)
|
||||||
|
systemctl enable serial-getty@$console
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Enable read-only rootfs. This cannot be done with part/logvol, as that would
|
||||||
|
# make Anaconda mount it read-only befor the installation starts.
|
||||||
|
#sed -i -r '/\S+\s+\/\s+/s/defaults/ro/' /etc/fstab
|
||||||
|
%end
|
|
@ -0,0 +1,29 @@
|
||||||
|
# vim: set ft=sh :
|
||||||
|
bootloader --location none
|
||||||
|
clearpart --all --initlabel --disklabel msdos
|
||||||
|
part /boot/efi --fstype vfat --size 128 --label RASPBERRYPI
|
||||||
|
part /boot --fstype ext4 --size 512 --label boot
|
||||||
|
part pv.01 --size 1 --grow
|
||||||
|
volgroup fedora pv.01
|
||||||
|
logvol / --fstype ext4 --name rootfs --vgname fedora --size 4096 --label rootfs
|
||||||
|
logvol swap --fstype swap --name swap --vgname fedora --size 1024 --maxsize 8192 --label swap --grow
|
||||||
|
logvol /var --fstype ext4 --name var --vgname fedora --size 2048 --label var --grow
|
||||||
|
logvol /var/log --fstype ext4 --name var_log --vgname fedora --size 1024 --label var-log
|
||||||
|
logvol /home --fstype ext4 --name home --vgname fedora --size 100 --label home
|
||||||
|
logvol /tmp --fstype ext4 --name tmp --vgname fedora --size 2048 --label tmp
|
||||||
|
|
||||||
|
timesource --ntp-pool 2.fedora.pool.ntp.org
|
||||||
|
|
||||||
|
%packages --exclude-weakdeps
|
||||||
|
bcm2711-firmware
|
||||||
|
bcm283x-overlays
|
||||||
|
uboot-images-armv8
|
||||||
|
%end
|
||||||
|
|
||||||
|
%include http://git.pyrocufflink.net/infra/kickstart/raw/branch/master/fedora-common.ks
|
||||||
|
|
||||||
|
%post --erroronfail
|
||||||
|
cp -P /usr/share/uboot/rpi_arm64/u-boot.bin /boot/efi/rpi-u-boot.bin
|
||||||
|
|
||||||
|
grubby --args='quiet systemd.show_status=1' --update-kernel=ALL
|
||||||
|
%end
|
|
@ -0,0 +1,21 @@
|
||||||
|
# vim: set ft=sh sw=4 ts=4 sts=4 et :
|
||||||
|
|
||||||
|
# Create the "standard" disk layout using only the first disk
|
||||||
|
# Other disks are left alone in case they already contain data, e.g.
|
||||||
|
# migrated from another system.
|
||||||
|
bootloader --location mbr
|
||||||
|
clearpart --all --initlabel --drives vda
|
||||||
|
reqpart
|
||||||
|
part /boot --fstype ext4 --size=512 --ondisk vda
|
||||||
|
part pv.01 --size=1 --grow --ondisk vda
|
||||||
|
volgroup fedora pv.01
|
||||||
|
logvol / --fstype ext4 --name=root --vgname=fedora --size=4096
|
||||||
|
logvol /home --fstype ext4 --name=home --vgname=fedora --size=100
|
||||||
|
logvol /var --fstype ext4 --name=var --vgname=fedora --size=1024 --grow
|
||||||
|
logvol /var/log --fstype ext4 --name=var_log --vgname=fedora --size=1024
|
||||||
|
|
||||||
|
%include https://git.pyrocufflink.net/infra/kickstart/raw/branch/master/fedora-common.ks
|
||||||
|
|
||||||
|
%packages
|
||||||
|
qemu-guest-agent
|
||||||
|
%end
|
Loading…
Reference in New Issue