NVIDIA BlueField BSP

Updating DPU Software Packages Using Standard Linux Tools


This dpu-upgrade procedure enables upgrading DOCA components using standard Linux tools (e.g., apt update and yum update). This process utilizes native package manager repositories to upgrade DPUs without the need for a full installation, and has the following benefits:

  • Only updates components that include modificationsConfigurable – user can select specific components (e.g., UEFI-ATF, NIC-FW)

  • Includes upgrade of:DOCA drivers and libraries DOCA reference applicationsBSP (UEFI/ATF) upgrade while maintaining the configurationNIC firmware upgrade while maintaining the configuration

  • Does not:Impact user binariesUpgrade non-Ubuntu OS kernelsUpgrade DPU BMC firmware

  • After completion of DPU upgrade:If NIC firmware was not updated, perform DPU Arm reset (software reset / reboot DPU)If NIC firmware was updated, perform firmware reset (mlxfwreset) or perform a graceful shutdown and power cycle

OS

Action

Instructions

Ubuntu/
Debian

Remove mlxbf-bootimages package


<dpu> $ apt remove --purge mlxbf-bootimages* -y


Install the the GPG key


<dpu> $ apt update
<dpu> $ apt install gnupg2


Export the desired distribution

Export DOCA_REPO with the relevant URL. The following is an example for Ubuntu 22.04:

<dpu> $ export DOCA_REPO="https://linux.mellanox.com/public/repo/doca/2.5.2/ubuntu22.04/dpu-arm64"
  • Ubuntu 22.04 – https://linux.mellanox.com/public/repo/doca/2.5.2/ubuntu22.04/dpu-arm64

  • Ubuntu 20.04 – https://linux.mellanox.com/public/repo/doca/2.5.2/ubuntu20.04/dpu-arm64

  • Debian 12 – https://linux.mellanox.com/public/repo/doca/2.5.2/debian12/dpu-arm64

Add GPG key to APT trusted keyring


<dpu> $ curl $DOCA_REPO/GPG-KEY-Mellanox.pub | gpg --dearmor > /etc/apt/trusted.gpg.d/GPG-KEY-Mellanox.pub


Add DOCA online repository


<dpu> $ echo "deb [signed-by=/etc/apt/trusted.gpg.d/GPG-KEY-Mellanox.pub] $DOCA_REPO ./" > /etc/apt/sources.list.d/doca.list


Update index


<dpu> $ apt update


Upgrade UEFI/ATF firmware

Run:

<dpu> $ apt install mlxbf-bootimages-signed mlxbf-scripts

Then initiate upgrade for UEFI/ATF firmware:

<dpu> $ bfrec


Upgrade BlueField DPU NIC firmware

Run:

<dpu> $ apt install mlnx-fw-updater-signed


This immediately starts NIC firmware upgrade.

To prevent automatic upgrade, run:

<dpu> $ export RUN_FW_UPDATER=no


Upgrade system


<dpu> $ apt upgrade


Apply the new changes, NIC firmware, and UEFI/ATF


<dpu> $ mlxfwreset -d /dev/mst/mt*_pciconf0 -y -l 3 --sync 1 r


If mlxfwreset is not supported, graceful shutdown and host power cycle are required for the NIC firmware upgrade to take effect.


CentOS/RHEL/
Anolis/Rocky

Remove mlxbf-bootimages, librerswan, and openvswitch-ipsec packages 


<dpu> $ yum -y remove mlxbf-bootimages*
<dpu> $ yum remove libreswan openvswitch-ipsec
<dpu> $ yum makecache


Export the desired distribution

Export DOCA_REPO with the relevant URL. The following is an example for Rocky Linux 8.6:

<dpu> $ export DOCA_REPO="https://linux.mellanox.com/public/repo/doca/2.5.2/rhel8.6/dpu-arm64/"
  • AnolisOS 8.6 – https://linux.mellanox.com/public/repo/doca/2.5.2/anolis8.6/dpu-arm64/

  • OpenEuler 20.03 sp1 – https://linux.mellanox.com/public/repo/doca/2.5.2/openeuler20.03sp1/dpu-arm64/

  • CentOS 7.6 with 4.19 kernel – https://linux.mellanox.com/public/repo/doca/2.5.2/rhel7.6-4.19/dpu-arm64/

  • CentOS 7.6 with 5.10 kernel – https://linux.mellanox.com/public/repo/doca/2.5.2/rhel7.6-5.10/dpu-arm64/

  • CentOS 7.6 with 5.4 kernel – https://linux.mellanox.com/public/repo/doca/2.5.2/rhel7.6/dpu-arm64/

  • Rocky Linux 8.6 – https://linux.mellanox.com/public/repo/doca/2.5.2/rhel8.6/dpu-arm64/

Add DOCA online repository


echo "[doca] 
name=DOCA Online Repo 
baseurl=$DOCA_REPO 
enabled=1 
gpgcheck=0 
priority=10 
cost=10" > /etc/yum.repos.d/doca.repo

A file is created under /etc/yum.repos.d/doca.repo.

Update index


<dpu> $ yum makecache


Upgrade UEFI/ATF firmware

Run:

<dpu> $ yum install mlxbf-bootimages-signed.aarch64 mlxbf-bfscripts

Then initiate the upgrade for UEFI/ATF firmware:

<dpu> $ bfrec


Upgrade BlueField DPU NIC firmware

The following command updates the firmware package and automatically attempts to flash the firmware to the NIC:

<dpu> $ yum install mlnx-fw-updater-signed.aarch64


To prevent automatic flashing of the firmware to the NIC, run the following first: 

<dpu> $ export RUN_FW_UPDATER=no


This step can be used as a standalone firmware update. In any case, it is performed as part of the upgrade flow.


Flashing the firmware to the NIC can be performed manually by running the following command, after the firmware package had been updated:

sudo /opt/mellanox/mlnx-fw-updater/mlnx_fw_updater.pl --force-fw-update




Upgrade system


<dpu> $ yum upgrade --nobest


Apply the new changes, NIC firmware, and UEFI/ATF


<dpu> $ mlxfwreset -d /dev/mst/mt*_pciconf0 -y -l 3 --sync 1 r


If mlxfwreset is not supported, a graceful shutdown and host power cycle are required for the NIC firmware upgrade to take effect.



Last updated: