Updating DPU Software Packages Using Standard Linux Tools

NVIDIA BlueField DPU BSP v4.7.0

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

OS

Action

Instructions

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 distribution

Export 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.7.0/ubuntu22.04/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 firmware

Run:

Copy
Copied!
            

<dpu> $ apt install mlxbf-bootimages-signed

Then i nitiate upgrade for UEFI/ATF firmware:

Copy
Copied!
            

<dpu> $ apt install mlxbf-scripts <dpu> $ bfrec

Upgrade BlueField DPU NIC firmware

Run:

Copy
Copied!
            

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

Note

This immediately starts NIC firmware upgrade.

To prevent automatic upgrade, run:

Copy
Copied!
            

<dpu> $ export RUN_FW_UPDATER=no

Remove old metapackages

Copy
Copied!
            

<dpu> $ apt-get remove doca-tools doca-sdk doca-runtime -y

Install new metapackages

Copy
Copied!
            

<dpu> $ apt-get install doca-runtime doca-devel -y

Upgrade system

Copy
Copied!
            

<dpu> $ apt upgrade

Apply the new changes,

NIC firmware, and UEFI/ATF

For the upgrade to take effect, perform BlueField system reboot as explained in the "NVIDIA BlueField Reset and Reboot Procedures" troubleshooting page.

Note

This step triggers immediate reboot of the BlueField Arm cores.

CentOS/RHEL/

Anolis/Rocky

Remove mlxbf-bootimages package

Copy
Copied!
            

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

Export the desired distribution

Export 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.7.0/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 firmware

Run:

Copy
Copied!
            

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

Then i nitiate the upgrade for UEFI/ATF firmware:

Copy
Copied!
            

<dpu> $ bfrec

Upgrade BlueField DPU NIC firmware

The 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

Info

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

Note

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

Copy
Copied!
            

<dpu> $ export RUN_FW_UPDATER=no

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

Remove old metapackages

Copy
Copied!
            

<dpu> $ yum -y remove doca-tools doca-sdk doca-runtime

Install new metapackages

Copy
Copied!
            

<dpu> $ yum -y install doca-runtime doca-devel

Upgrade system

Copy
Copied!
            

<dpu> $ yum upgrade --nobest

Apply the new changes,

NIC firmware, and UEFI/ATF

For the upgrade to take effect, perform BlueField system reboot as explained in the "NVIDIA BlueField Reset and Reboot Procedures" troubleshooting page.

Note

This step triggers immediate reboot of the BlueField Arm cores.

© Copyright 2024, NVIDIA. Last updated on May 9, 2024.