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.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 firmwareRun:
Copy
Copied!
            

<dpu> $ apt install mlxbf-bootimages-signed

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

<dpu> $ bfrec

Upgrade BlueField DPU NIC firmware Run:
Copy
Copied!
            

yum install mlnx-fw-updater-signed.aarch64

Warning

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

Warning

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

<dpu> $ yum -y remove mlxbf-bootimages <dpu> $ add asterisk <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.0/rhel8.6/dpu-arm64/"

Add DOCA online repository
Copy
Copied!
            

echo [doca] \ name=DOCA Online Repo \ baseurl=$DOCA_REPO \ enabled=1 \ gpgcheck=0 > /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 firmware Run:
Copy
Copied!
            

yum install mlnx-fw-updater-signed.aarch64

Warning

This immediately starts NIC firmware upgrade.

To prevent automatic upgrade, run:
Copy
Copied!
            

<dpu> $ export RUN_FW_UPDATER=no

Prevent kernel upgrades
Copy
Copied!
            

<dpu> $ yum versionlock kernel*

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

Warning

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

© Copyright 2023, NVIDIA. Last updated on Dec 27, 2023.