Installing RHEL8 using Petitboot Automating the procedure with kickstart (anaconda) - CCI-MOC/rubicon-issues GitHub Wiki

Managed to provision RHEL 8.3 on the first node.

A quick guide on how to:

On the foreman server

Copied the rhel-8.3-ppc64le-dvd.iso file into the foreman server. 1.1 Mounted the file to get the following directory

mount -o loop installation_directory/rhel-8.3-ppc64le-dvd.iso /installation_directory/rhelfiles

mounted-files

1.2 Enter the directory and run the next command to start an HTTP server with the content of the directory

python3 -m HTTP.server --b 10.30.4.1

On the SOL console (inside the BMC System Management interface)

Run the following command to assign a private IP address to the node

ip addr add 10.30.4.20/24 dev enp1s0f0
ip link set enp1s0f0 up

2.1 Enter to the petitboot menu and press n 2.2 Copy the next URLs and boot args into their designated spots


Kernel - http://10.30.4.1:8000/ppc/ppc64/vmlinuz
Initrd - http://10.30.4.1:8000/ppc/ppc64/initrd.img
boot arguments - inst.repo=http://10.30.4.1:8000/ inst.text ipv6.disable=1 ifname=enp1s0f0:50:6b:4b:fb:4e:52 ip=10.30.4.20::10.30.4.1:24:bu-21-7:enp1s0f0:noneโ€

:warning: note that the boot arguments in the picture do not match the ones above, just ignore it

petitboot-arguments

2.3 Now chose the user-item in the main petitboot menu

2.4 Let the node reboot itself and you will get to the installation program.

2.5 after some loading, you will get to a textual installation menu, on which you will have to complete some of the initial installation arguments and options like:

  • Username and password
  • installation storage device
  • language
  • etc

text-install-menu

you can read about it here (although it's for RHEL7)

2.6 after the installation is completed, the system will reboot and again will give us the option to load the petitboot. although not needed, in this stage we can see in the petitboot menu that the installation was successful because it will show us the option of booting the new OS. when continuing to the boot itself, we will again face a text menu, just to accept the license agreement or something.. don't worry just do it, and there you go! it should boot normally.

Automated procedure with kickstart (anaconda):

Do step 1.1 as mentioned above.

Create a file in the installation directory called anaconda-ks.cfg and- paste the following content or create your own:

:warning: Note that the installation directory is not the rhel_files directory

#version=RHEL8
# Use text mode install
text

repo โ€” name=โ€AppStreamโ€ โ€” 
baseurl=http://10.30.5.1:8000/rhel_files/AppStream

%packages
@^graphical-server-environment
kexec-tools

%end

# System language
lang en_US.UTF-8

# Network information
network โ€” hostname=bu-21โ€“7

# Use network installation
url โ€” url=โ€http://10.30.5.1:8000/rhel_files"

# Run the Setup Agent on first boot
firstboot โ€” enable
# Do not configure the X Window System
skipx

ignoredisk โ€” only-use=sda
# System bootloader configuration
bootloader โ€” append=โ€crashkernel=autoโ€ โ€” location=mbr โ€” boot-drive=sda
# Partition clearing information
clearpart โ€” all โ€” initlabel โ€” drives=sda
part / โ€” fstype ext4 โ€” size=12000
part prepboot โ€” fstype โ€œPPC PReP Bootโ€ โ€” size=10
# System timezone
timezone America/New_York โ€” isUtc

# Root password
rootpw โ€” iscrypted โ€œput your root password hereโ€

%addon com_redhat_kdump โ€” enable โ€” reserve-mb=โ€™autoโ€™

%end

%anaconda
pwpolicy root โ€” minlen=6 โ€” minquality=1 โ€” notstrict โ€” nochanges โ€” notempty
pwpolicy user โ€” minlen=6 โ€” minquality=1 โ€” notstrict โ€” nochanges โ€” emptyok
pwpolicy luks โ€” minlen=6 โ€” minquality=1 โ€” notstrict โ€” nochanges โ€” notempty
%end

Adjust the configurations to meet with your systems configuration. After everything is set run 1.2 but this time from the installation directory.

Do step 2.1 as mentioned above.

On step 2.2 adjust the directories paths (this time you are not running the HTTP server from the rhel_files directory)

Do step 2.3 as mentioned above, reboot the system, and there you go the system will configure and install itself without your intervention.