Rocky 8.8 kickstart disk config

This section of my Centos 7.9 kickstart worked until I’ve tried to port it to Rocky 8.8. I was wondering if there is anything obvious that is stopping it working with Rocky 8.8 I’ve changed everything I can think of. If try it on a workstation with 1 disk it installs as expected, but any workstation with 2 disks it goes into a bootloop before the kernal selection and just goes back to the bios. Any help would be appreciated.

%pre
#!/bin/sh
dir=‘/sys/block’
for dev in $dir//; do
if [ -d $dev ]; then
devbase=basename $dev
virt=“/sys/devices/virtual/block/$devbase”
virtdev=basename $virt
rem=cat $dev/removable
if (( $rem == 0 )); then
if [ ! -d $virt ]; then
size=cat $dev/size
array+=($size)
max=${array[0]}
min=${array[0]}
numhd=echo ${#array[@]}
for i in “${array[@]}”; do
(( i > max )) && max=$i
(( i < min )) && min=$i
done
if (( $size == $min )); then
echo $dev
if [[ $dev == n
]]; then
drive1=basename $dev
else
drive2=basename $dev
fi
fi
if (( $size == $max )); then
echo $dev
if [[ $dev == n* ]]; then
drive2=basename $dev
else
drive1=basename $dev
fi
fi
fi
fi
fi
done

#act_mem1=$((grep MemTotal: /proc/meminfo | sed 's/^MemTotal: *//'|sed 's/ .*//' / 1024))
#act_mem=$(($act_mem1 / 2))

if [ $numhd == “2” ]; then
#2 drives
echo ‘2 drives’ >> /root/preinstall.log
echo “drive 1 is $drive1” >> /root/preinstall.log
echo “drive 2 is $drive2” >> /root/preinstall.log
echo “bootloader location=mbr” > /tmp/part-include
echo “clearpart --all --initlabel” >> /tmp/part-include
#echo “logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=$act_mem” >> /tmp/part-include
echo “part swap --asprimary --fstype=“swap” --size=7812 --ondisk=$drive1” >> /tmp/part-include
echo “part /boot --fstype xfs --size=300 --ondisk=$drive1” >> /tmp/part-include
echo “part / --fstype xfs --size=1 --grow --ondisk=$drive1” >> /tmp/part-include
echo “part pv.01 --size=1 --grow” >> /tmp/part-include
echo “volgroup vg00 pv.01” >> /tmp/part-include
echo “logvol /var/tmp --fstype xfs --name=lvol1 --vgname=vg00 --size=1 --grow” >> /tmp/part-include
else
#1 drive
echo ‘1 drives’ >> /root/preinstall.log
echo “drive 1 is $drive1” >> /root/preinstall.log
echo “bootloader location=mbr” >> /tmp/part-include
echo “clearpart --all --initlabel” >> /tmp/part-include
echo “part swap --asprimary --fstype=“swap” --size=1024 --ondisk=$drive1” >> /tmp/part-include
echo “part /boot --fstype xfs --size=300 --ondisk=$drive1” >> /tmp/part-include
echo “part / --fstype xfs --size=1 --grow --ondisk=$drive1” >> /tmp/part-include
fi
%end

Try using:

%pre --log=/mnt/sysimage/root/ks-pre.log

and see if there is an error in this part.

The logs for both 7.9 and 8.8 are identical, with 7.9 booting correctly and 8.8 going into a bootloop beofre the kernel selection. I’ve also used the --erroronfail flag and it isn’t reporting any errors.

+ dir=/sys/block
+ for dev in $dir/*/
+ '[' -d /sys/block/dm-0/ ']'
++ basename /sys/block/dm-0/
+ devbase=dm-0
+ virt=/sys/devices/virtual/block/dm-0
++ basename /sys/devices/virtual/block/dm-0
+ virtdev=dm-0
++ cat /sys/block/dm-0//removable
+ rem=0
+ ((  0 == 0  ))
+ '[' '!' -d /sys/devices/virtual/block/dm-0 ']'
+ for dev in $dir/*/
+ '[' -d /sys/block/dm-1/ ']'
++ basename /sys/block/dm-1/
+ devbase=dm-1
+ virt=/sys/devices/virtual/block/dm-1
++ basename /sys/devices/virtual/block/dm-1
+ virtdev=dm-1
++ cat /sys/block/dm-1//removable
+ rem=0
+ ((  0 == 0  ))
+ '[' '!' -d /sys/devices/virtual/block/dm-1 ']'
+ for dev in $dir/*/
+ '[' -d /sys/block/dm-2/ ']'
++ basename /sys/block/dm-2/
+ devbase=dm-2
+ virt=/sys/devices/virtual/block/dm-2
++ basename /sys/devices/virtual/block/dm-2
+ virtdev=dm-2
++ cat /sys/block/dm-2//removable
+ rem=0
+ ((  0 == 0  ))
+ '[' '!' -d /sys/devices/virtual/block/dm-2 ']'
+ for dev in $dir/*/
+ '[' -d /sys/block/loop0/ ']'
++ basename /sys/block/loop0/
+ devbase=loop0
+ virt=/sys/devices/virtual/block/loop0
++ basename /sys/devices/virtual/block/loop0
+ virtdev=loop0
++ cat /sys/block/loop0//removable
+ rem=0
+ ((  0 == 0  ))
+ '[' '!' -d /sys/devices/virtual/block/loop0 ']'
+ for dev in $dir/*/
+ '[' -d /sys/block/loop1/ ']'
++ basename /sys/block/loop1/
+ devbase=loop1
+ virt=/sys/devices/virtual/block/loop1
++ basename /sys/devices/virtual/block/loop1
+ virtdev=loop1
++ cat /sys/block/loop1//removable
+ rem=0
+ ((  0 == 0  ))
+ '[' '!' -d /sys/devices/virtual/block/loop1 ']'
+ for dev in $dir/*/
+ '[' -d /sys/block/loop2/ ']'
++ basename /sys/block/loop2/
+ devbase=loop2
+ virt=/sys/devices/virtual/block/loop2
++ basename /sys/devices/virtual/block/loop2
+ virtdev=loop2
++ cat /sys/block/loop2//removable
+ rem=0
+ ((  0 == 0  ))
+ '[' '!' -d /sys/devices/virtual/block/loop2 ']'
+ for dev in $dir/*/
+ '[' -d /sys/block/nvme0n1/ ']'
++ basename /sys/block/nvme0n1/
+ devbase=nvme0n1
+ virt=/sys/devices/virtual/block/nvme0n1
++ basename /sys/devices/virtual/block/nvme0n1
+ virtdev=nvme0n1
++ cat /sys/block/nvme0n1//removable
+ rem=0
+ ((  0 == 0  ))
+ '[' '!' -d /sys/devices/virtual/block/nvme0n1 ']'
++ cat /sys/block/nvme0n1//size
+ size=1000215216
+ array+=($size)
+ max=1000215216
+ min=1000215216
++ echo 1
+ numhd=1
+ for i in "${array[@]}"
+ ((  i > max  ))
+ ((  i < min  ))
+ ((  1000215216 == 1000215216  ))
+ echo /sys/block/nvme0n1/
/sys/block/nvme0n1/
+ [[ /sys/block/nvme0n1/ == n* ]]
++ basename /sys/block/nvme0n1/
+ drive2=nvme0n1
+ ((  1000215216 == 1000215216  ))
+ echo /sys/block/nvme0n1/
/sys/block/nvme0n1/
+ [[ /sys/block/nvme0n1/ == n* ]]
++ basename /sys/block/nvme0n1/
+ drive1=nvme0n1
+ for dev in $dir/*/
+ '[' -d /sys/block/sda/ ']'
++ basename /sys/block/sda/
+ devbase=sda
+ virt=/sys/devices/virtual/block/sda
++ basename /sys/devices/virtual/block/sda
+ virtdev=sda
++ cat /sys/block/sda//removable
+ rem=0
+ ((  0 == 0  ))
+ '[' '!' -d /sys/devices/virtual/block/sda ']'
++ cat /sys/block/sda//size
+ size=1000215216
+ array+=($size)
+ max=1000215216
+ min=1000215216
++ echo 2
+ numhd=2
+ for i in "${array[@]}"
+ ((  i > max  ))
+ ((  i < min  ))
+ for i in "${array[@]}"
+ ((  i > max  ))
+ ((  i < min  ))
+ ((  1000215216 == 1000215216  ))
+ echo /sys/block/sda/
/sys/block/sda/
+ [[ /sys/block/sda/ == n* ]]
++ basename /sys/block/sda/
+ drive2=sda
+ ((  1000215216 == 1000215216  ))
+ echo /sys/block/sda/
/sys/block/sda/
+ [[ /sys/block/sda/ == n* ]]
++ basename /sys/block/sda/
+ drive1=sda
+ for dev in $dir/*/
+ '[' -d /sys/block/sr0/ ']'
++ basename /sys/block/sr0/
+ devbase=sr0
+ virt=/sys/devices/virtual/block/sr0
++ basename /sys/devices/virtual/block/sr0
+ virtdev=sr0
++ cat /sys/block/sr0//removable
+ rem=1
+ ((  1 == 0  ))
+ '[' 2 == 2 ']'
+ echo '2 drives'
+ echo 'drive 1 is sda'
+ echo 'drive 2 is sda'
+ echo 'bootloader --append=crashkernel=auto --location=mbr'
+ echo 'clearpart --all --initlabel'
+ echo 'part swap --asprimary --fstype=swap --size=8590 --ondisk=sda'
+ echo 'part /boot --fstype=xfs --size=1024 --ondisk=sda'
+ echo 'part / --fstype=xfs --size=1 --grow --ondisk=sda'
+ echo 'part pv.01 --fstype=“lvmpv” --size=1 --grow'
+ echo 'volgroup vg00 pv.01'
+ echo 'logvol /var/tmp --fstype=xfs --name=lvol1 --vgname=vg00 --size=1 --grow'

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.