Home » Uncategorized » RHEL/CentOS 8 Installs

RHEL/CentOS 8 Installs

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

Leave a Reply