2026-05-27 08:32:26 +02:00
|
|
|
clearpart --none
|
|
|
|
|
lang en_US.UTF-8 --addsupport=nl_NL.UTF-8
|
|
|
|
|
keyboard us
|
|
|
|
|
text
|
|
|
|
|
network --onboot yes --bootproto dhcp --noipv6
|
|
|
|
|
firewall --service=ssh
|
|
|
|
|
# authconfig --enableshadow --passalgo=sha512
|
|
|
|
|
selinux --disabled
|
|
|
|
|
zerombr
|
|
|
|
|
|
|
|
|
|
%include /tmp/settings
|
|
|
|
|
|
|
|
|
|
reboot
|
|
|
|
|
|
|
|
|
|
# Install minimal system. Skip firmware stuff.
|
|
|
|
|
# Also skip selinux, and some other unneeded packages.
|
|
|
|
|
|
|
|
|
|
%packages
|
|
|
|
|
@^minimal-environment
|
|
|
|
|
-iwl*firmware
|
|
|
|
|
-linux-firmware
|
|
|
|
|
%end
|
|
|
|
|
|
|
|
|
|
#######################################################################################
|
|
|
|
|
# Pre script: #
|
|
|
|
|
# Handling commandline options #
|
|
|
|
|
# configuring repositories and setting up install packages #
|
|
|
|
|
#######################################################################################
|
2026-06-10 12:02:38 +02:00
|
|
|
%pre --log=/tmp/ks-pre.log --interpreter=/bin/bash
|
2026-05-27 08:32:26 +02:00
|
|
|
echo Kickstart preinstall script
|
2026-06-10 12:02:38 +02:00
|
|
|
source /mnt/install/repo/custom/settings
|
2026-05-27 08:32:26 +02:00
|
|
|
touch /tmp/rpms /tmp/settings
|
|
|
|
|
|
|
|
|
|
# Settings from config file
|
2026-06-10 12:02:38 +02:00
|
|
|
echo "repo --name=\"AppStream\" --baseurl=${REPO:-NO_REPO}" >> /tmp/settings
|
|
|
|
|
echo "rootpw --iscrypted ${ROOTPW:-NO_ROOTPW}" >> /tmp/settings
|
|
|
|
|
echo "timezone ${TZ:-Europe/Amsterdam}" >> /tmp/settings
|
2026-05-27 08:32:26 +02:00
|
|
|
|
|
|
|
|
set -- `cat /proc/cmdline`
|
|
|
|
|
for I in $*; do case "$I" in *=*) eval ${I//inst\./} ;; esac; done
|
|
|
|
|
|
|
|
|
|
# boot disk detection
|
2026-07-10 10:18:21 +02:00
|
|
|
lsblk -bSo name,type,ro,hotplug,size,vendor,model,serial
|
|
|
|
|
bd=$(lsblk -nbSo name,type,ro,hotplug,size | awk 'NR==1 && $2=="disk" && $3==0 && $4==0 && $5>500 {print $1}')
|
|
|
|
|
|
2026-05-27 08:32:26 +02:00
|
|
|
printf "%-10s%10s%10s%10s\n" dev size removable inuse
|
|
|
|
|
for dev in $(find /sys/block/ -name "sd?" -o -name "xvd?" -o -name "vd?"|sort); do
|
|
|
|
|
devname=${dev##*/}
|
|
|
|
|
size=$(($(< $dev/size)/2097152))
|
|
|
|
|
blkid -pu filesystem /dev/$(basename $dev) &>/dev/null && used=1 || used=0
|
|
|
|
|
removable=$(< $dev/removable)
|
|
|
|
|
printf "%-10s%10s%10s%10s\n" $devname $size $removable $used
|
|
|
|
|
((size>8)) && ((used==0)) && ((removable==0)) && bootdisk=${bootdisk:-$devname}
|
|
|
|
|
done
|
|
|
|
|
test -z "$bootdisk" && echo "No bootdisk detected" || echo "Bootdisk = $bootdisk"
|
|
|
|
|
|
|
|
|
|
if test -d /sys/firmware/efi; then
|
|
|
|
|
cat <<- EOF >> /tmp/settings
|
|
|
|
|
reqpart --add-boot
|
|
|
|
|
EOF
|
|
|
|
|
else
|
|
|
|
|
cat <<- EOF >> /tmp/settings
|
|
|
|
|
bootloader --location=mbr
|
2026-06-09 15:35:06 +02:00
|
|
|
part /boot --fstype=xfs --size=1024
|
2026-05-27 08:32:26 +02:00
|
|
|
EOF
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
cat <<- EOF >> /tmp/settings
|
|
|
|
|
ignoredisk --only-use=${bootdisk:-none}
|
|
|
|
|
part pv.2 --grow --size=200 --maxsize=65536
|
|
|
|
|
volgroup rvg --pesize=4096 pv.2
|
2026-06-09 15:35:06 +02:00
|
|
|
logvol / --fstype=xfs --name=root --vgname=rvg --size=1024
|
2026-05-27 08:32:26 +02:00
|
|
|
logvol /opt --fstype=xfs --name=opt --vgname=rvg --size=512
|
2026-06-09 15:35:06 +02:00
|
|
|
logvol /var --fstype=xfs --name=var --vgname=rvg --size=4096
|
2026-05-27 08:32:26 +02:00
|
|
|
logvol /usr --fstype=xfs --name=usr --vgname=rvg --size=4096
|
|
|
|
|
logvol /home --fstype=xfs --name=home --vgname=rvg --size=1024
|
|
|
|
|
logvol /tmp --fstype=xfs --name=tmp --vgname=rvg --size=1024
|
|
|
|
|
logvol swap --name=swap --vgname=rvg --size=1024
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
set > /tmp/environment
|
|
|
|
|
|
|
|
|
|
%end
|
|
|
|
|
|
|
|
|
|
%addon com_redhat_kdump --disable --reserve-mb='auto'
|
|
|
|
|
%end
|
|
|
|
|
|
|
|
|
|
#######################################################################################
|
|
|
|
|
# Post (no chroot) script #
|
|
|
|
|
#######################################################################################
|
2026-06-10 12:02:38 +02:00
|
|
|
%post --nochroot --log=/mnt/sysimage/var/log/ks-post-nochroot.log --interpreter=/bin/bash
|
2026-05-27 08:32:26 +02:00
|
|
|
|
|
|
|
|
# Save kickstart and cmdline settings for later reference
|
|
|
|
|
cp /proc/cmdline /tmp/{settings,environment,rpms,ks-pre.log} /mnt/sysimage/var/lib/misc/
|
|
|
|
|
|
2026-06-10 12:02:38 +02:00
|
|
|
# Prepare post-install
|
|
|
|
|
cp -r /mnt/install/repo/custom /mnt/sysimage/var/lib/misc/
|
|
|
|
|
|
2026-05-27 08:32:26 +02:00
|
|
|
%end
|
|
|
|
|
|
|
|
|
|
#######################################################################################
|
|
|
|
|
# Post (chroot) script (optional customization) #
|
|
|
|
|
#######################################################################################
|
|
|
|
|
%post --log=/var/log/ks-post-chroot.log --interpreter=/bin/bash
|
2026-06-10 12:02:38 +02:00
|
|
|
|
|
|
|
|
# Run post-install script
|
|
|
|
|
/var/lib/misc/custom/post-setup.sh
|
2026-05-27 08:32:26 +02:00
|
|
|
|
|
|
|
|
%end
|
|
|
|
|
|