Updating DPU Software Packages Using Standard Linux Tools
As an alternative to BFB installation, it is possible to upgrade DPU software using standard Linux tools (i.e., APT in case of DEB-based distributions, YUM for RPM based distributions).
Public DOCA repositories are available under https://linux.mellanox.com/public/repo/doca/.
For Ubuntu 20.04 this DOCA repository is configured in the doca.list file:
# cat /etc/apt/sources.list.d/doca.list
#
# Nvidia DOCA public repository configuration file.
# For more information, refer to http://linux.mellanox.com
#
# To add a public key:
# wget -qO - https://linux.mellanox.com/public/repo/doca/lts/latest/ubuntu20.04/aarch64/GPG-KEY-Mellanox.pub | sudo apt-key add -
# deb [trusted=yes] https://linux.mellanox.com/public/repo/doca/lts/latest/ubuntu20.04/aarch64 ./
When a new NVIDIA software release is available, run the following commands to update your software packages to the new versions:
$ wget -qO - https://linux.mellanox.com/public/repo/doca/lts/latest/ubuntu20.04/aarch64/GPG-KEY-Mellanox.pub | sudo apt-key add -
$ apt update
$ apt upgrade
After the software packages are updated, it is required to upgrade Boot Software (UEFI/ATF) and NIC firmware.
To upgrade UEFI/ATF (included in mlxbf-bootimages DEB package) on boot partition, run:
$ bfrec --bootctl --policy dual
$ bfrec --capsule /lib/firmware/mellanox/boot/capsule/boot_update2.cap --policy dual
$ reboot
To upgrade the DPU software to DOCA_1.5.1_BSP_3.9.3_Ubuntu_20.04-4.2211-LTS version from DOCA_1.5.0_BSP_3.9.3_Ubuntu_20.04-11:
Run the following:
$ wget -qO - https://linux.mellanox.com/public/repo/doca/lts/latest/ubuntu20.04/aarch64/GPG-KEY-Mellanox.pub | sudo apt-key add - $ sudo apt update $ sudo apt-mark hold linux-tools-bluefield linux-image-bluefield linux-bluefield linux-headers-bluefield linux-libc-dev linux-tools-common $ sudo apt upgrade
Download and install the mlxbf-bootimages DEB file which includes the DPU's UEFI/ATF and set the right image type ("dev" vs "prod"):
$ IMAGE_TYPE=dev $ wget -P /tmp -r --no-verbose --no-directories -l1 --no-parent -A 'mlxbf-bootimages_*_arm64.deb' https://linux.mellanox.com/public/repo/bluefield/latest/bootimages/${IMAGE_TYPE}/ $ dpkg -i /tmp/mlxbf-bootimages_*_arm64.deb
Upgrade UEFI/ATF (included in mlxbf-bootimages DEB package) on the boot partition, run:
$ bfrec --bootctl --policy dual $ bfrec --capsule /lib/firmware/mellanox/boot/capsule/boot_update2.cap --policy dual $ reboot
Update NIC firmware according to section "Firmware Upgrade".