There are some slight differences between RHEL 7 and RHEL 8 kickstart syntax. Here is a helpful guide that I found: https://www.golinuxcloud.com/rhel-centos-8-kickstart-example-generator/#Kickstart_Generator
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use HTTP installation media
url --url="http://path/to/software_repo/rhel8.2/"
# Root password
rootpw --iscrypted <password here>
# System authorization information
auth useshadow passalgo=sha512
# Use text install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
#logging level=info
# System timezone
timezone America/New_York
# System services
services --enabled="chronyd"
#services --disabled="NetworkManager"
# System timezone
timezone America/New_York --isUtc --ntpservers=10.200.3.254,10.200.4.254
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr
bootloader --location=mbr
clearpart --all --initlabel
#QuantBot Disk Partitioning yo!
part biosboot --fstype="biosboot" --ondisk=sda --size=1
part swap --fstype="swap" --ondisk sda --size=8192
part /boot --fstype="ext4" --ondisk sda --size=1024
part /tmp --fstype="ext4" --ondisk sda --size=40960
part /var --fstype="ext4" --ondisk sda --size=10200
part / --asprimary --fstype="ext4" --ondisk sda --size=10096
#part / --asprimary --fstype="ext4" --ondisk sda --size=152096
part /local --fstype="ext4" --ondisk=sda --size=10 --grow
reboot
%pre
#Set hostname
echo "network --device eth0 --bootproto dhcp --hostname localhost.localdomain" > /tmp/network.ks
for x in `cat /proc/cmdline`; do
case $x in SERVERNAME*)
eval $x
echo "network --device eth0 --bootproto dhcp --hostname ${SERVERNAME}" > /tmp/network.ks
;;
esac;
done
###################################
# get rid of existng disk config
###################################
udevadm settle
dmsetup remove_all
vgchange -an system
vgchange -an os
available_disks=$(mktemp /tmp/disks.XXXXXXXXX)
ls -r /dev/sd* > $available_disks
for disk in `cat $available_disks`;do
wipefs -f -a $disk
done
rm -vf $available_disks
%end
%packages
@Server
#@System administration tools
@base
#@compat-libraries
@core
@development
chrony
#@Console internet tools
@Legacy UNIX Compatibility
@System Tools
@Security Tools
@Container Management
kexec-tools
#crypto-utils
dstat
net-snmp
net-snmp-utils
telnet
nmap
%end
%post --log=/root/install-post.log
echo "SELINUX=disabled" > /etc/selinux/config
echo "[all]" > /tmp/inventory
echo `hostname` >> /tmp/inventory
# This disables ctrl-alt-del from rebooting the server
systemctl mask ctrl-alt-del.target
# disabling ipv6 in /etc/hosts
sed -i 's/::1/#::1/' /etc/hosts
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end
Networking:
Set up bonded Interfaces: https://linuxconfig.org/how-to-configure-network-interface-bonding-on-red-hat-enterprise-linux-8
Install openonload
download the latest version of openonload from https://support.solarflare.com/wp/onload
yum -y elfutils-libelf-devel
unzip - <dir>/scripts/onload_install.sh
Infiniband
yum -y install cmake
yum install http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/libmnl-devel-1.0.4-6.el8.x86_64.rpm
yum -y install yum install python36-Cython.x86_64 libselinux-devel glib2-devel binutils-devel libnl3-devel systemd-devel python36-devel fuse-devel gcc-gfortran libdb-devel tcsh kernel-rpm-macros iptables-devel pciutils-devel elfutils-devel numactl-devel openssl-devel libusbx-devel
wget http://www.mellanox.com/downloads/ofed/MLNX_OFED-5.1-0.6.6.0/MLNX_OFED_SRC-5.1-0.6.6.0.tgz
tar -xvzf MLNX_OFED_SRC-5.1-0.6.6.0.tgz
I found a small error in the install.pl that prevented me from installing it on RHEL8. A temporary workaround is this:
cp install.pl install.pl.orig
vi MLNX_OFED_SRC-5.1-0.6.6.0/install.pl
change:
if ($DISTRO =~ m/RHEL8 | OL8/x) {
$python = "python36";
$python_devel = "python36-devel";
$python_cython = "python-Cython";
$pkgconfig = "pkgconf-pkg-config";
$libnl_devel = 'libnl3-devel';
$libnl = 'libnl3';
}
to:
if ($DISTRO =~ m/RHEL8 | OL8/x) {
$python = "python36";
$python_devel = "python36-devel";
$python_cython = "python36-Cython";
$pkgconfig = "pkgconf-pkg-config";
$libnl_devel = 'libnl3-devel';
$libnl = 'libnl3';
}
then run the installer:
./install.pl
select 2 <-- install OFED
select 3 <-- install Everything