From e49e2d3909fbfb78294bee6f50d51a6585bf67f1 Mon Sep 17 00:00:00 2001 From: Bart Sjerps Date: Wed, 10 Jun 2026 12:02:38 +0200 Subject: [PATCH] update --- .gitignore | 38 ++++++++++++++++++++++++++++++++++++++ bin/make-rocky | 15 ++++++++++----- bin/makepass | 6 ++++-- kickstart/rocky-9.cfg | 28 ++++++++++++++-------------- 4 files changed, 66 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 6267c43..e36e02d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,39 @@ + Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# Archives +*.zip + +# Swap files +*.swp + +# Custom + *.iso diff --git a/bin/make-rocky b/bin/make-rocky index e7617fb..328d24e 100755 --- a/bin/make-rocky +++ b/bin/make-rocky @@ -1,13 +1,18 @@ #!/bin/bash -# requires lorax, genisoimage: dnf install lorax genisoimage -isopath=/nfs/sw/os/rocky/Rocky-9.7-x86_64-minimal.iso -ks=/users/bart/git/rocky/kickstart/rocky-9.cfg - die() { echo "$(basename $0): [die] $@" >&2 ; exit 1 ; } +# requires lorax, genisoimage: dnf install lorax genisoimage + +isopath=/nfs/sw/os/rocky/Rocky-9.7-x86_64-minimal.iso +target=/nfs/pve/template/iso/custom.iso +ks=/users/bart/git/rocky/kickstart/rocky-9.cfg +custom=/users/bart/git/rocky/custom + rpm -q --quiet lorax || die "lorax not installed" rpm -q --quiet genisoimage || die "genisoimage not installed" -sudo mkksiso --ks=$ks $isopath custom.iso +test -f $target && rm -f $target + +sudo mkksiso -a $custom --ks=$ks $isopath $target diff --git a/bin/makepass b/bin/makepass index 7052335..01922a8 100755 --- a/bin/makepass +++ b/bin/makepass @@ -3,7 +3,9 @@ import argparse import crypt -passwd='yahooo' +parser = argparse.ArgumentParser() +parser.add_argument('password') +args = parser.parse_args() -print(crypt.crypt(passwd, crypt.mksalt(crypt.METHOD_SHA512))) +print(crypt.crypt(args.password, crypt.mksalt(crypt.METHOD_SHA512))) diff --git a/kickstart/rocky-9.cfg b/kickstart/rocky-9.cfg index 24466c7..d26bf44 100644 --- a/kickstart/rocky-9.cfg +++ b/kickstart/rocky-9.cfg @@ -8,8 +8,6 @@ firewall --service=ssh 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 @@ -28,13 +26,17 @@ reboot # Handling commandline options # # configuring repositories and setting up install packages # ####################################################################################### -%pre --log=/tmp/ks-pre.log -#!/bin/bash +%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 -rootpw='$6$OJEdzUbqfQR72WjX$SFMnDZ0MXM7JfYKPvvN0nJIPetzrWQw/0q360xgR9mwJVwrme4dt9hhtH95yytn8Ln0.0koVCno6vskylJFm5.' +# rootpw='$6$1mQhye0V5LujdR4F$87zIHy3bMZgjt02xY/F59eWk58VXh5CDSL0t9AInj6QOjLmYF0TDVeGLJH/bIKaGqXrbVJAgDHYZ9uT1uTMRX.' + +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 @@ -53,8 +55,6 @@ for dev in $(find /sys/block/ -name "sd?" -o -name "xvd?" -o -name "vd?"|sort); 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 @@ -67,7 +67,6 @@ else fi cat <<- EOF >> /tmp/settings - timezone 'Europe/Amsterdam' ignoredisk --only-use=${bootdisk:-none} part pv.2 --grow --size=200 --maxsize=65536 volgroup rvg --pesize=4096 pv.2 @@ -90,22 +89,23 @@ set > /tmp/environment ####################################################################################### # Post (no chroot) script # ####################################################################################### -%post --nochroot --log=/mnt/sysimage/var/log/ks-post-nochroot.log +%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 -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 + +# Run post-install script +/var/lib/misc/custom/post-setup.sh %end