These scripts are based off the work of Red Hat, specifically @ecohen, @egarver, @fdangelo, @bnemeth and others. To see the full git history, please use git log --follow <filename>
.
The purpose of the provided scripts and Kickstart file is to enable the boot and installation of RHEL 8.4 on the NVIDIA Bluefield 2 DPU.
- 64bit Red Hat or CentOS host computer
- BF2 card physically installed and connected
- Red Hat Enterprise Linux >=8.4 iso downloaded on the host computer
$ git clone https://github.com/kwozyman/rhel-on-bf2
$ cd rhel-on-bf2
$ export RHEL_ISO=/path/to/redhat_iso_file
$ sh bluefield_provision.sh -a
The -a
switch will run, in order:
- Host preparation / dependency install (
-i
) - Update BF2 firmware (
-f
) - Check (and enable) SR-IOV support on the host system
- Prepare PXE and run PXE install (
-p
)
After following the onscreen instructions, RHEL installation should start and you would end up with a rather standard RHEL installation with the root password of bluefield
.
Do note sometimes the Real Time Clock is not synchronized right after operating system install, so you'll need to:
$ systemctl stop chronyd.service
$ chronyd -q 'server clock.redhat.com iburst'
$ hwclock --systohc --localtime
First, we need to install software dependencies for the card. These include the Mellanox rshim driver and the Mellanox firmware burning tools. The provision script's dependencies are: expect, wget and minicom
Second, the firmware is updated to a hardcoded version of BlueField-3.5.1.11601
.
The host is then prepared as a PXE boot host, partly following this documentation from Red Hat so in the end we will have running dhcpd
, (t)ftp
and httpd
servers with the kernel extracted from the iso file, PXE and Grub menus prepared.
minicom
is then used to attach to the card's console and some simple expect
rules navigate the menus as much as possible. Please note that one needs to manually select the 'PXE boot' option from the menu, as instructed by the onscreen prompts in the script, as it is not possible to predict the position of that particular menu item.
For the installation start, the RHEL8-bluefield.ks
Kickstart file is used and should provide you at the end with a rather default RHEL install.
To force the network connection between the card and the host, the network-reset.sh
script can be used. The -r
switch will also reboot the card.