7. Manual Network install of AlmaLinux

7.1. Local Graphical Installation with attached screen

Our first test in network booting the AlmaLinux installer will be done by attaching a keyboard and screen to the compute node. Below is the configuration used to boot locally. It adds two labels to the PXELINUX configuration, one for the installer and one rescue mode.

We have to at least append the inst.repo kernel option, which sets the location of our installation source. In our case the location is http://192.168.16.1/AlmaLinux-8-10-x86_64 or http://master.hpc/AlmaLinux-8-10-x86_64.

DEFAULT menu
PROMPT 0
MENU TITLE MHPC 2025
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT local

LABEL local
        MENU LABEL (local)
        MENU DEFAULT
        LOCALBOOT -1

LABEL installer
        kernel almalinux8/vmlinuz
        initrd almalinux8/initrd.img
        append inst.repo=http://192.168.16.1/AlmaLinux-8-10-x86_64
        MENU LABEL AlmaLinux Installer

LABEL rescue
        kernel almalinux8/vmlinuz
        initrd almalinux8/initrd.img
        append inst.repo=http://192.168.16.1/AlmaLinux-8-10-x86_64 inst.rescue
        MENU LABEL AlmaLinux Rescue

7.2. Remote Text Mode Installation via IPMI Serial Console

Depending on the number of compute nodes you have, it will quickly become tedious to install each of them with a real screen attached. The serial console over IPMI allows you to remote control this process in text mode.

Add the console=tty0 console=ttyS1,115200n8 as kernel parameters to new installer-sol and rescue-sol labels. The first console will direct normal output to the screen. While the second one will also redirect it to a serial port.

Warning

Depending on your vendor the serial port exposed to IPMI will not always be the same. If you do not see any output after selecting a menu entry in PXELINUX, try a different serial port like ttyS0, ttyS1, or ttyS2.

The inst.text kernel parameter will instruct the AlmaLinux installer to use the text mode installer.

DEFAULT menu
PROMPT 0
MENU TITLE MHPC 2025
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT local

LABEL local
        MENU LABEL (local)
        MENU DEFAULT
        LOCALBOOT -1

...

LABEL installer-sol
        kernel almalinux8/vmlinuz
        initrd almalinux8/initrd.img
        append console=tty0 console=ttyS1,115200n8 inst.repo=http://192.168.16.1/AlmaLinux-8-10-x86_64 inst.text
        MENU LABEL AlmaLinux Installer (Serial-over-LAN)

LABEL rescue-sol
        kernel almalinux8/vmlinuz
        initrd almalinux8/initrd.img
        append console=tty0 console=ttyS1,115200n8 inst.repo=http://192.168.16.1/AlmaLinux-8-10-x86_64 inst.rescue
        MENU LABEL AlmaLinux Rescue (Serial-over-LAN)

Power on or power cycle the compute node and then attach to the serial console (you might need multiple attempts to attach):

[root@master ~]# ipmiwrap c01 power on
[root@master ~]# ipmiwrap c01 sol activate

If for some reason ipmitool reports that some session is already active, you can try do deactivate and activate it again via:

[root@master ~]# ipmiwrap c01 sol deactivate
[root@master ~]# ipmiwrap c01 sol activate

Verify that you can use both menu entries you’ve created.

7.3. Remote Text Mode Installation via SSH

Instead of the serial console you can also SSH as root into the installer operating system if you pass the inst.sshd kernel option. This will give you all the benefits of a full shell, compared to the limited capabilities of the serial console.

LABEL installer-ssh
        kernel almalinux8/vmlinuz
        initrd almalinux8/initrd.img
        append console=tty0 console=ttyS1,115200n8 inst.repo=http://192.168.16.1/AlmaLinux-8-10-x86_64 inst.sshd inst.text
        MENU LABEL AlmaLinux Installation (SSH enabled)

LABEL rescue-ssh
        kernel almalinux8/vmlinuz
        initrd almalinux8/initrd.img
        append console=tty0 console=ttyS1,115200n8 inst.repo=http://192.168.16.1/AlmaLinux-8-10-x86_64 inst.sshd inst.rescue
        MENU LABEL AlmaLinux Rescue (SSH enabled)

Warning

By default, this uses an empty root password for SSH. You can set one using the sshpw kickstart command (see later).

While the console options aren’t required, it is recommended to keep using them in order to be able to check the boot process before attempting to connect via SSH.

Once the installer has booted, connect via SSH from the master node:

[root@master ~]# ssh root@c01

Note that this will add the installer OS host key to the master node in ~/.ssh/known_hosts. However, this changes after each boot. So you will get an error message if you try to connect to a new installation afterwards. You can either delete the affected line in the known_hosts file or use a more complicated SSH command to avoid the host check completely.

[root@master ~]# ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@c01

Once connected, you have access to a full shell. You can inspect the system, create/modify/delete partitions, mount them, etc.

The text-mode installer itself is running inside of a tmux session. Attach to it by running the following command:

[root@c01 ~]# tmux a

See tmux Quick Start for more details on how to use it.

7.4. Install at least two compute nodes using any of the above methods

  • Use the entire disk for your installations

  • Use standard automatic partitioning

  • Only do a minimal install

  • Do not create any extra user, but set a root password, e.g. mhpc2025