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 # ####################################################################################### %pre --log=/tmp/ks-pre.log --interpreter=/bin/bash echo Kickstart preinstall script source /mnt/install/repo/custom/settings touch /tmp/rpms /tmp/settings # Settings from config file 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 set -- `cat /proc/cmdline` for I in $*; do case "$I" in *=*) eval ${I//inst\./} ;; esac; done # boot disk detection 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}') 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 part /boot --fstype=xfs --size=1024 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 logvol / --fstype=xfs --name=root --vgname=rvg --size=1024 logvol /opt --fstype=xfs --name=opt --vgname=rvg --size=512 logvol /var --fstype=xfs --name=var --vgname=rvg --size=4096 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 # ####################################################################################### %post --nochroot --log=/mnt/sysimage/var/log/ks-post-nochroot.log --interpreter=/bin/bash # Save kickstart and cmdline settings for later reference cp /proc/cmdline /tmp/{settings,environment,rpms,ks-pre.log} /mnt/sysimage/var/lib/misc/ # Prepare post-install cp -r /mnt/install/repo/custom /mnt/sysimage/var/lib/misc/ %end ####################################################################################### # Post (chroot) script (optional customization) # ####################################################################################### %post --log=/var/log/ks-post-chroot.log --interpreter=/bin/bash # Run post-install script /var/lib/misc/custom/post-setup.sh %end