diff --git a/isocreate.ks b/isocreate.ks index e7d2415..af77851 100644 --- a/isocreate.ks +++ b/isocreate.ks @@ -1,5 +1,5 @@ # We do not want SELinux -selinux --permissive +selinux --disabled # Services to activate services --enabled=NetworkManager @@ -12,9 +12,6 @@ user --name=installer --uid=9999 # Accept EULA eula --agreed -# Partitioning from pre section -#%include /tmp/part-include - # Disable kdump %addon com_redhat_kdump --disable %end @@ -36,6 +33,8 @@ repo --name=rocky8app --baseurl=https://dl.rockylinux.org/pub/rocky/8/AppStream/ url --url=https://dl.rockylinux.org/pub/rocky/8/AppStream/$basearch/os/ repo --name=epel8 --baseurl=https://muug.ca/mirror/fedora-epel/8/Everything/$basearch/ url --url=https://muug.ca/mirror/fedora-epel/8/Everything/$basearch/ +repo --name=remisafe --baseurl=http://rpms.remirepo.net/enterprise/8/safe/x86_64/ +url --url=http://rpms.remirepo.net/enterprise/8/safe/x86_64/ #repo --name=smeos --mirrorlist https://mirrorlist.koozali.org/mirrorlist/smeos-11-x86_64 #repo --name=smeupdates --mirrorlist https://mirrorlist.koozali.org/mirrorlist/smeupdates-11-x86_64 @@ -48,237 +47,3 @@ dracut-live -chrony -kexec-tools %end - - -# Partitioning in pre-install -%pre --interpreter=/bin/bash --log=/var/log/sme-partitioning.log - -# Read command line arguments -if grep nolvm "/proc/cmdline" ; then NOLVM=true ; fi -if grep noraid "/proc/cmdline" ; then NORAID=true ; fi -if grep noxfs "/proc/cmdline" ; then FSTYPE="ext4" ; else FSTYPE="xfs" ; fi -echo "Command line arguments:" -cat /proc/cmdline - -# Minimum size of hard drive needed specified in MB -MINSIZE=5000 - -# Number of detected drives and first disk size -NDEV=0 -BASESIZE=0 -SIZEDIFF=0 - -# Loop through block devices, keep those over MINSIZE and ensure additional drives for RAID are within 100MB of the first -for DEV in $(lsblk -nl | grep disk | cut -d' ' -f1) ; do - if [ -d /sys/block/$DEV ] ; then - REMOVABLE=`cat /sys/block/$DEV/removable` - if (( $REMOVABLE == 0 )) ; then - SIZE=`cat /sys/block/$DEV/size` - MB=$(($SIZE/2**11)) - if [ $MB -gt $MINSIZE ] ; then - if [ $NDEV == 0 ] ; then - echo "First drive found: $DEV with size $MB MB" - DRIVES[$NDEV]=$DEV - BASESIZE=$MB - ((NDEV++)) - else - SIZEDIFF=$(($MB-$BASESIZE)) - if [ $SIZEDIFF -gt 100 ] || [ $SIZEDIFF -lt -100 ] ; then - echo "Drive found but size of $MB MB doesn't match $BASESIZE MB - ignoring" - else - echo "Additional drive found: $DEV with size $MB MB" - DRIVES[$NDEV]=$DEV - ((NDEV++)) - fi - fi - fi - fi - fi -done -echo "Total disks found: $NDEV" - -# Calculate recommended swap size for RAID + nolvm case -if [ -d /sys/firmware/efi ] ; then - DISKSPARE=$(($BASESIZE-200-500-3000)) -else - DISKSPARE=$(($BASESIZE-1-500-3000)) -fi -MEMSIZE=$(awk '/^MemTotal:/{print $2}' /proc/meminfo) -MEMSIZEMB=$(($MEMSIZE/2**10)) - -if [ $MEMSIZEMB -lt 2000 ] ; then - SWAPSIZE=$((2*$MEMSIZEMB)) -elif [ $MEMSIZEMB -lt 8000 ] ; then - SWAPSIZE=$MEMSIZEMB -else - SWAPSIZE=8000 -fi -if [ $SWAPSIZE -gt $DISKSPARE ] ; then SWAPSIZE=$DISKSPARE ; fi - -# Declare useful variables -printf -v DRIVELIST ",%s" "${DRIVES[@]}" -if [ $NORAID ] ; then - DRIVELIST=${DRIVES[0]} -else - DRIVELIST=${DRIVELIST:1} -fi - -echo "Final drive list: $DRIVELIST" -LEVEL=1 -SPARE=0 - - -# Error if detection has failed and fall back -if [ ${#DRIVES[@]} == 0 ] ; then - echo "No drive suitable for installation found! Reverting to Anaconda defaults." - - cat > /tmp/part-include < /tmp/part-include <> /tmp/part-include - elif [ $BASESIZE -gt 2048000 ] ; then - printf "part biosboot --fstype=biosboot --size=1 --ondisk=%s\n" "${DRIVES[0]}" >> /tmp/part-include - fi - - # Create boot partition - printf "part /boot --fstype=%s --size=500 --label=BOOT --ondisk=%s\n" "$FSTYPE" "${DRIVES[0]}" >> /tmp/part-include - - # Default to LVM unless specified at command line - if [ $NOLVM ] ; then - cat >> /tmp/part-include <> /tmp/part-include <> /tmp/part-include - elif [ $BASESIZE -gt 2048000 ] ; then - printf "part biosboot --fstype=biosboot --size=1 --ondisk=%s\n" "${DRIVES[$i]}" >> /tmp/part-include - fi - printf "part raid.%s1 --size=500 --ondisk=%s\n" "$i" "${DRIVES[$i]}" >> /tmp/part-include - - # Default to LVM unless specified - if [ $NOLVM ] ; then - printf "part raid.%s2 --size=3000 --grow --ondisk=%s\n" "$i" "${DRIVES[$i]}" >> /tmp/part-include - printf "part raid.%s3 --size=%s --ondisk=%s\n" "$i" "$SWAPSIZE" "${DRIVES[$i]}" >> /tmp/part-include - else - printf "part raid.%s2 --size=4300 --grow --ondisk=%s\n" "$i" "${DRIVES[$i]}" >> /tmp/part-include - fi - - done - - # Compute RAID level - # from https://wiki.contribs.org/Raid - # 2 Drives - Software RAID 1 - # 3 Drives - Software RAID 1 + 1 Hot-spare - # 4 Drives - Software RAID 6 - # 5+ Drives - Software RAID 6 + 1 Hot-spare - - if [ ${#DRIVES[@]} == 2 ] ; then - LEVEL=1 - SPARE=0 - elif [ ${#DRIVES[@]} == 3 ] ; then - LEVEL=1 - SPARE=1 - elif [ ${#DRIVES[@]} == 4 ] ; then - LEVEL=6 - SPARE=0 - else - LEVEL=6 - SPARE=1 - fi - - # Set up RAID devices - printf -v EFIDEVS "raid.%s0 " "${!DRIVES[@]}" - printf -v BOOTDEVS "raid.%s1 " "${!DRIVES[@]}" - printf -v ROOTDEVS "raid.%s2 " "${!DRIVES[@]}" - printf -v SWAPDEVS "raid.%s3 " "${!DRIVES[@]}" - - # Include the EFI partition if necessary - if [ -d /sys/firmware/efi ] ; then - printf "raid /boot/efi --fstype=efi --level=1 --spares=0 --device=md9 %s\n" "$EFIDEVS" >> /tmp/part-include - fi - - # Boot partition - printf "raid /boot --fstype=%s --level=1 --spares=0 --device=md0 %s\n" "$FSTYPE" "$BOOTDEVS" >> /tmp/part-include - - # Default to LVM unless specified - if [ $NOLVM ] ; then - cat >> /tmp/part-include <> /tmp/part-include <