NVIDIA BlueField Management and Initial Provisioning
NVIDIA BlueField Management and Initial Provisioning

Day 2 Management Operations

After provisioning and deploying the BlueField for the first time, there are several activities required from time-to-time throughout the BlueField's lifecycle.

Info

Before proceeding, review section "Management Methods" to learn about the recommended management methods for specific tasks on the BlueField device.

This 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 BlueField networking platforms (DPUs or SuperNICs) without the need for a full installation.

This process 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 BlueField BMC firmware

  • After completion of BlueField upgrade:

    • If NIC firmware was not updated, perform BlueField Arm reset (software reset/reboot BlueField )

    • 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!
            

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

Install the the GPG key

Copy
Copied!
            

<bf> $ apt update <bf> $ 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!
            

<bf> $ 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!
            

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

Add DOCA online repository

Copy
Copied!
            

<bf> $ 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!
            

<bf> $ apt update

Upgrade UEFI/ATF firmware

Run:

Copy
Copied!
            

<bf> $ apt install mlxbf-bootimages-signed

Then i nitiate upgrade for UEFI/ATF firmware:

Copy
Copied!
            

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

Upgrade BlueField NIC firmware

Run:

Copy
Copied!
            

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

Note

This immediately starts NIC firmware upgrade.

To prevent automatic upgrade, run:

Copy
Copied!
            

<bf> $ export RUN_FW_UPDATER=no

Remove old metapackages

Copy
Copied!
            

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

Install new metapackages

Copy
Copied!
            

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

Upgrade system

Copy
Copied!
            

<bf> $ 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!
            

<bf> $ yum -y remove mlxbf-bootimages* <bf> $ 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!
            

<bf> $ 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!
            

<bf> $ yum makecache

Upgrade UEFI/ATF firmware

Run:

Copy
Copied!
            

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

Then i nitiate the upgrade for UEFI/ATF firmware:

Copy
Copied!
            

<bf> $ bfrec

Upgrade BlueField NIC firmware

The following command updates the firmware package and automatically attempts to flash the firmware to the NIC:

Copy
Copied!
            

<bf> $ 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!
            

<bf> $ 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!
            

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

Install new metapackages

Copy
Copied!
            

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

Upgrade system

Copy
Copied!
            

<bf> $ 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.

Users may want to reset the BlueField to factory defaults. To do that, it is necessary to reset to default the BlueField BMC, BlueField UEFI, NIC, and the Arm. Follow the steps in the subsections below for more.

Step 1 – Reset BlueField BMC to Factory Default

  1. Run the following command:

    Copy
    Copied!
                

    curl -k -u root:'<password>' -H "Content-Type: application/json" -X POST https://<BF-BMC-IP>/redfish/v1/Managers/Bluefield_BMC/Actions/Manager.ResetToDefaults -d '{"ResetToDefaultsType": "ResetAll"}' { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.15.0.Success", "MessageSeverity": "OK", "Resolution": "None" } ] }

  2. Reboot the BMC for the factory reset to take effect:

    Copy
    Copied!
                

    > curl -k -u root:'<password>' -H "Content-Type: application/json" -X POST -d '{"ResetType": "GracefulRestart"}' https://<BF-BMC-IP>/redfish/v1/Managers/Bluefield_BMC/Actions/Manager.Reset { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.13.0.Success", "MessageSeverity": "OK", "Resolution": "None" } ]

Step 2 – Wipe BlueField eMMC and SSD Storage

Users may wipe their eMMC and NVMe storage using the following Redfish commands:

  • eMMC:

    Copy
    Copied!
                

    curl -k -u root:<password> -X PATCH -H "Content-Type: application/json" https://<bmc_ip>/redfish/v1/Systems/Bluefield/Bios/Settings -d '{"Attributes":{"EmmcWipe":  true}}'

  • NVMe:

    Copy
    Copied!
                

    curl -k -u root:<password> -X PATCH -H "Content-Type: application/json" https://<bmc_ip>/redfish/v1/Systems/Bluefield/Bios/Settings -d '{"Attributes":{"NvmeWipe":  true}}'

Step 3 – Reset UEFI to Factory Default

Use the Redfish BIOS Settings PATCH command:

Copy
Copied!
            

curl -k -u root:'<password>' -X PATCH -d '{"Attributes":{"ResetEfiVars": true}}' https://<BF-BMC-IP>/redfish/v1/Systems/<SystemID>/Bios/Settings | python3 -m json.tool


Step 4 – Reset NIC TLVs to Factory Default

Run the following from the Arm console:

Copy
Copied!
            

bf> mlxconfig -d <device> -y reset


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