NVIDIA BlueField DPU BSP v4.5.2 LTS
NVIDIA BlueField BSP v4.5.2

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 modifications

    • Configurable – user can select specific components (e.g., UEFI-ATF, NIC-FW)
  • Includes upgrade of:

    • DOCA drivers and libraries
    • DOCA reference applications
    • BSP (UEFI/ATF) upgrade while maintaining the configuration
    • NIC firmware upgrade while maintaining the configuration
  • Does not:

    • Impact user binaries
    • Upgrade non-Ubuntu OS kernels
    • Upgrade 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
OSActionInstructions
Ubuntu/
Debian
Remove mlxbf-bootimages package
Copy
Copied!
            

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

Install the the GPG key
Copy
Copied!
            

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

Export the desired distributionExport DOCA_REPO with the relevant URL. The following is an example for Ubuntu 22.04:
Copy
Copied!
            

<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
Copy
Copied!
            

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

Add DOCA online repository
Copy
Copied!
            

<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
Copy
Copied!
            

<dpu> $ apt update

Upgrade UEFI/ATF firmwareRun:
Copy
Copied!
            

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

Then initiate upgrade for UEFI/ATF firmware:
Copy
Copied!
            

<dpu> $ bfrec

Upgrade BlueField DPU NIC firmwareRun:
Copy
Copied!
            

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

Note

This immediately starts NIC firmware upgrade.

To prevent automatic upgrade, run:
Copy
Copied!
            

<dpu> $ export RUN_FW_UPDATER=no

Upgrade system
Copy
Copied!
            

<dpu> $ apt upgrade

Apply the new changes, NIC firmware, and UEFI/ATF
Copy
Copied!
            

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

Note

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
Copy
Copied!
            

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

Export the desired distributionExport DOCA_REPO with the relevant URL. The following is an example for Rocky Linux 8.6:
Copy
Copied!
            

<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
Copy
Copied!
            

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
Copy
Copied!
            

<dpu> $ yum makecache

Upgrade UEFI/ATF firmwareRun:
Copy
Copied!
            

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

Then initiate the upgrade for UEFI/ATF firmware:
Copy
Copied!
            

<dpu> $ bfrec

Upgrade BlueField DPU NIC firmwareThe following command updates the firmware package and automatically attempts to flash the firmware to the NIC:
Copy
Copied!
            

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

Note

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

Copy
Copied!
            

<dpu> $ export RUN_FW_UPDATER=no

Info

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

Info

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

Copy
Copied!
            

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

Upgrade system
Copy
Copied!
            

<dpu> $ yum upgrade --nobest

Apply the new changes, NIC firmware, and UEFI/ATF
Copy
Copied!
            

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

Note

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

© Copyright 2024, NVIDIA. Last updated on Aug 8, 2024.