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".