initial
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# requires lorax, genisoimage: dnf install lorax genisoimage
|
||||
|
||||
mkksiso --ks=/var/www/kickstart/rocky-9.cfg Rocky-9.7-x86_64-minimal.iso custom.iso
|
||||
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
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
|
||||
|
||||
repo --name="AppStream" --baseurl=http://atc-mgt01.dell-atc.lan/iso/Rocky-9.7-x86_64-minimal/Minimal
|
||||
|
||||
%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
|
||||
#!/bin/bash
|
||||
echo Kickstart preinstall script
|
||||
touch /tmp/rpms /tmp/settings
|
||||
|
||||
# Settings from config file
|
||||
rootpw='$6$OJEdzUbqfQR72WjX$SFMnDZ0MXM7JfYKPvvN0nJIPetzrWQw/0q360xgR9mwJVwrme4dt9hhtH95yytn8Ln0.0koVCno6vskylJFm5.'
|
||||
|
||||
tz='Europe/Amsterdam'
|
||||
|
||||
set -- `cat /proc/cmdline`
|
||||
for I in $*; do case "$I" in *=*) eval ${I//inst\./} ;; esac; done
|
||||
|
||||
grep -qws "debug" /proc/cmdline && bash
|
||||
|
||||
# Get release by probing libc
|
||||
# EL 6 does not support bootdisk on XFS, only use it for everything else
|
||||
case $(ls /lib64/libc-*|head -1) in
|
||||
*2.12*) fs=ext4 ; mp=/mnt/source ;;
|
||||
*) fs=xfs ; mp=/run/install/repo ;;
|
||||
esac
|
||||
|
||||
# boot disk detection
|
||||
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"
|
||||
|
||||
echo "rootpw --iscrypted $rootpw" >> /tmp/settings
|
||||
|
||||
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=$fs --size=768
|
||||
EOF
|
||||
fi
|
||||
|
||||
cat <<- EOF >> /tmp/settings
|
||||
timezone ${tz:---utc UTC}
|
||||
ignoredisk --only-use=${bootdisk:-none}
|
||||
part pv.2 --grow --size=200 --maxsize=65536
|
||||
volgroup rvg --pesize=4096 pv.2
|
||||
logvol / --fstype=$fs --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=2048
|
||||
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
|
||||
|
||||
# Save kickstart and cmdline settings for later reference
|
||||
cp /proc/cmdline /tmp/{settings,environment,rpms,ks-pre.log} /mnt/sysimage/var/lib/misc/
|
||||
|
||||
%end
|
||||
|
||||
#######################################################################################
|
||||
# Post (chroot) script (optional customization) #
|
||||
#######################################################################################
|
||||
%post --log=/var/log/ks-post-chroot.log --interpreter=/bin/bash
|
||||
mkdir -p /root/.ssh
|
||||
cat <<- EOF >> /root/.ssh/authorized_keys
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdE/iMpuqJUG6FC3hLqOD5uREa6v6xXR3HeMBg1NibGVYkr0WmfvsckVsStKYA0SF3PLFs+fWTTJ6iFTDJvcclzADKe0REekWWrR7kNJR5RHoDwo6/hzm22tyGMH5i5JnvRElDmlLgmeXChWtqLVo2IP1JZrGyT/GTl4ViSZjNfdgCHJNxzmBgHdp31Mv9I7/1vv3A7ucJ3BJpbIL4Ck6QidFz1fQUWIJrXtNsdqvO/9PcFl/v75etfQRNPQ3HLMbWiQu6hVcKpxuwj0qVaXA+WPQAn5GeBKIkRYMsjEVC2fUS1/IVp47kmnXsw0H3fgGXPmoAEsRKs9niVOwegvWj /home/bart/.ssh/id_rsa
|
||||
EOF
|
||||
chmod 400 /root/.ssh/authorized_keys
|
||||
|
||||
chvt 2
|
||||
iotty=$(tty)
|
||||
exec > "$iotty" 2>&1 < "$iotty"
|
||||
|
||||
read -p "Enter hostname: " hn
|
||||
hostnamectl hostname $hn
|
||||
|
||||
%end
|
||||
|
||||
Reference in New Issue
Block a user