DOCA 文档 v2.10.0

BF-Bundle 安装和升级

注意

重要提示: 在 BlueField 上安装 BF-bundle 之前,请务必更新主机端的 DOCA。

用户有三个选项可在 BlueField DPU 或 SuperNIC 上安装或升级 DOCA

方法

选项名称

描述

安装

BF-bundle DOCA 镜像

此选项使用 Ubuntu 22.04 安装覆盖整个引导分区,并更新 BlueField 和 NIC 固件

升级

标准 Linux 工具

此选项升级 DOCA 组件,而无需覆盖引导分区。使用此选项可保留 BlueField 本身Configuring上的配置或文件

安装

ISO DOCA 镜像

此选项使用 Ubuntu 22.04 安装覆盖整个引导分区

信息

NVIDIA DOCA 下载 页面查找 BlueField 的 DOCA 安装文件。

警告

重要! 在 BlueField 上安装 BF-bundle 之前,请务必更新 主机端 上的 DOCA。

在 BlueField 上安装 BF-bundle 之前,请务必更新 主机端 上的 DOCA。

警告

如果未连接 ATX +12V 电源,ATF 将不会启动 150W BlueField-3 平台。此要求确保 BlueField 设备的正常运行。有关连接外部电源连接器的详细说明,请参阅NVIDIA BlueField-3 网络平台用户指南

用户可以通过升级 BlueField 上的完整 DOCA 镜像,在 BlueField DPU 或 SuperNIC 上安装 DOCA。

信息

这会使用 Ubuntu 22.04 安装覆盖整个引导分区,并更新 BlueField 和 NIC 固件。

注意

此安装程序会设置 OVS 网桥。

选项 1 – 无预定义密码

注意

要在 BFB 捆绑包安装期间更改默认 Ubuntu 密码,请转到选项 2

要安装 BFB,请使用以下命令

复制
已复制!
            

host# sudo bfb-install --rshim rshim<N> --bfb <image_path.bfb>

其中

  • <N> – 适当的 RShim 设备标识符。如果您只有一个 BlueField 设备,请使用 rshim0

  • <image_path.bfb> – 将其替换为 BFB 镜像文件的路径。

要列出系统上存在的 RShim 设备,请运行以下命令

复制
已复制!
            

host# ls -la /dev/ | grep rshim

注意

默认情况下,bfb-install 将清除 /dev/rshim<N>/misc 中的 RShim 日志,并将其另存为 tmp/bfb-install-rshim[N].log。要保留 /dev/rshim<N>/misc 中的 RShim 日志,请为 bfb-install 命令行提供 --keep-log 参数。


选项 2 – 设置预定义密码

Ubuntu 用户可以在 bf.cfg 配置文件中为 ubuntu 用户设置唯一密码,该密码将在 BlueField BFB 捆绑包安装结束时自动应用。

为此,请按照以下步骤操作

  1. 生成哈希密码

    复制
    已复制!
                

    host# openssl passwd -1 Password: Verifying - Password: $1$3B0RIrfX$TlHry93NFUJzg3Nya00rE1

  2. 将密码哈希添加到 bf.cfg 配置文件

    复制
    已复制!
                

    host# echo ubuntu_PASSWORD='$1$3B0RIrfX$TlHry93NFUJzg3Nya00rE1' > bf.cfg

  3. 运行安装命令时,使用 --config 标志指定配置文件

    复制
    已复制!
                

    host# sudo bfb-install --rshim rshim<N> --bfb <image_path.bfb> --config bf.cfg

    注意

    如果未使用 --config,则首次登录 BlueField 设备后,将提示用户更新默认 ubuntu 密码。

    注意

    (可选)要使用 BFB 捆绑包升级 BlueField 集成 BMC 固件,请在 bf.cfg 文件中提供当前的 BMC root 凭据,如下所示

    复制
    已复制!
                

    BMC_PASSWORD="<root password>" BMC_USER="root" BMC_REBOOT="yes"

    除非之前已更改,否则默认 BMC root 密码为 0penBmc

    以下是 Ubuntu-22.04 BFB 捆绑包安装的示例输出(版本在将来可能会有所不同)

    复制
    已复制!
                

    host# sudo bfb-install --rshim rshim0 --bfb bf-bundle-2.7.0_24.04_ubuntu-22.04_prod.bfb --config bf.cfg Pushing bfb 1.41GiB 0:02:02 [11.7MiB/s] [ <=> ] Collecting BlueField booting status. Press Ctrl+C to stop INFO[PSC]: PSC BL1 START INFO[BL2]: start INFO[BL2]: boot mode (rshim) INFO[BL2]: VDDQ: 1120 mV INFO[BL2]: DDR POST passed INFO[BL2]: UEFI loaded INFO[BL31]: start INFO[BL31]: lifecycle GA Secured INFO[BL31]: VDD: 850 mV INFO[BL31]: runtime INFO[BL31]: MB ping success INFO[UEFI]: eMMC init INFO[UEFI]: eMMC probed INFO[UEFI]: UPVS valid INFO[UEFI]: PMI: updates started INFO[UEFI]: PMI: total updates: 1 INFO[UEFI]: PMI: updates completed, status 0 INFO[UEFI]: PCIe enum start INFO[UEFI]: PCIe enum end INFO[UEFI]: UEFI Secure Boot INFO[UEFI]: PK configured INFO[UEFI]: Redfish enabled INFO[UEFI]: exit Boot Service INFO[MISC]: Found bf.cfg INFO[MISC]: Ubuntu installation started INFO[MISC]: Installing OS image INFO[MISC]: Changing the default password for user ubuntu INFO[MISC]: Ubuntu installation completed INFO[MISC]: Updating NIC firmware... INFO[MISC]: NIC firmware update done INFO[MISC]: Installation finished

  4. 要验证 BlueField 设备是否已完成启动,请在安装过程完成后等待 90 秒,然后运行以下命令

    复制
    已复制!
                

    host# sudo cat /dev/rshim<N>/misc ...  INFO[MISC]: Linux up  INFO[MISC]: DPU is ready  

  5. 检索已安装的软件包及其版本作为 BF-Bundle 安装的一部分

    1. 登录到 BlueField。

    2. 运行以下命令

      复制
      已复制!
                  

      bf# sudo bf-info

      示例输出

      复制
      已复制!
                  

      Versions: - ATF: v2.2(release):4.9.0-16-g221717c68 - UEFI: 4.9.0-37-gcbeaab0650 - BSP: 4.9.0.13322 - NIC Firmware: 32.43.0356 - DOCA Base (OFED): 24.10-0.5.1.0 ... Storage: - mlnx-libsnap 1.6.0-1 - spdk 23.01.5-24 - virtio-net-controller 24.10.15-1 DOCA: - doca-apsh-config 2.9.0064-1 - libdoca-sdk-urom-dev 2.9.0064-1 ... FlexIO: - flexio-samples 24.10.2447 - flexio-sdk 24.10.2447 ... SoC Platform: - mlxbf-gige-modules 1.0-0.kver.6.1.0-11-arm64 - sdhci-of-dwcmshc-modules 1.0-0.kver.6.1.0-11-arm64 ... OFED: rdma-core 2410mlnx54-1.2410051 ucx 1.18.0-1.2410051 ...

  6. 要通过 IPv4 配置 tmfifo_net0 接口以 SSH 访问 BlueField Arm OS

    复制
    已复制!
                

    host# ifconfig tmfifo_net0 192.168.100.1/24

    信息

    使用 192.168.100.2(预配置的默认值)SSH 进入 BlueField Arm OS

    复制
    已复制!
                

    host# ssh ubuntu@192.168.100.2

此过程允许使用标准 Linux 工具(例如,apt updateyum update)在 BlueField 网络平台(DPU 或 SuperNIC)上升级 DOCA 组件。它利用本机软件包管理器存储库来更新组件,而无需完全重新安装。

注意

虽然此方法能够更新特定的 DOCA 组件,但选择性更新创建的组合未经过 NVIDIA 验证。NVIDIA 仅验证 BF-Bundle 软件包的完整安装。

此过程具有以下优点

  • 仅更新包含修改的组件

  • 包括以下升级

    • DOCA 驱动程序和库

    • DOCA 参考应用程序

    • BSP (UEFI/ATF) 升级,同时保持配置

    • NIC 固件升级,同时保持配置

    • BMC 组件升级

  • 不执行以下操作

    • 影响用户二进制文件

    • 升级非 Ubuntu OS 内核

  • BlueField 升级完成后

    • 如果 NIC 固件未更新,请执行 BlueField Arm 重置(软件重置/重启 BlueField)

    • 如果 NIC 固件已更新,请执行固件重置 (mlxfwreset) 或执行正常关机和电源循环

操作系统

操作

说明

Ubuntu/

Debian

删除 mlxbf-bootimages 软件包

复制
已复制!
            

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

安装 GPG 密钥

复制
已复制!
            

<bf> $ apt update <bf> $ apt install gnupg2

导出所需的发行版

导出包含相关 URL 的 DOCA_REPO

复制
已复制!
            

<bf> $ export DOCA_REPO="<URL>"

将 GPG 密钥添加到 APT 受信任密钥环

复制
已复制!
            

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

添加 DOCA 在线存储库

复制
已复制!
            

<bf> $ echo "deb [signed-by=/etc/apt/trusted.gpg.d/GPG-KEY-Mellanox.pub] $DOCA_REPO ./" > /etc/apt/sources.list.d/doca.list

更新索引

复制
已复制!
            

<bf> $ apt update

升级 UEFI/ATF 固件

安装 ATF/UEFI 软件包和 mlxbf-scripts

复制
已复制!
            

<bf> $ apt install mlxbf-bootimages-signed mlxbf-scripts

启动 UEFI/ATF 固件升级

复制
已复制!
            

<bf> $ bfrec

升级 BlueField NIC 固件

安装 NIC 固件软件包

复制
已复制!
            

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

启动 NIC 固件升级

复制
已复制!
            

<bf> $ sudo /opt/mellanox/mlnx-fw-updater/mlnx_fw_updater.pl --force-fw-update

升级 BMC 组件

将 BMC 密码插入到配置文件 /etc/bf-upgrade.conf

信息

bf-upgrade.conf 的格式应与 bf.cfg 相同。有关信息,请参阅“使用 bf.cfg 自定义 BlueField 软件部署”。

复制
已复制!
            

<bf> $ cat > /etc/bf-upgrade.conf << EOF BMC_PASSWORD="<password>" EOF

要在 BMC 版本升级后立即应用新固件,请将以下参数添加到 bf-upgrade.conf 文件中

复制
已复制!
            

<bf> $ cat >> /etc/bf-upgrade.conf << EOF BMC_REBOOT="yes" CEC_REBOOT="yes" EOF

信息

BMC_REBOOT="yes" 在版本更新后重启 BMC 并重置控制台。

CEC_REBOOT="yes" 仅在当前 CEC 版本为 00.02.0180.0000 及更高版本时才有效。

信息

要在稍后应用新的 BMC 固件,用户必须手动重置 BMC 和 CEC 组件。有关参考,请参阅“使用 CEC 自复位命令重置 CEC 和 BMC 子系统”。

安装 BMC 组件的软件包

复制
已复制!
            

<bf> $ apt -y install bf3-bmc-nic-fw-* bf3-bmc-fw-signed bf3-cec-fw-signed bf3-bmc-gi-signed <bf> $ apt -y install bf-release*

启动 BMC 组件的升级

复制
已复制!
            

<bf> $ dpu-bmc-upgrade

信息

升级过程应最多需要 20 分钟。

删除旧的元软件包

复制
已复制!
            

<bf> $ apt-get remove doca* mlnx-ofed* kernel-mft* -y

安装新的元软件包

复制
已复制!
            

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

升级系统

复制
已复制!
            

<bf> $ apt upgrade

应用新的更改、NIC 固件和 UEFI/ATF

要使升级生效,请执行BlueField 系统重启

注意

此步骤会立即触发 BlueField Arm 核心的重启。

CentOS/RHEL/

Anolis/Rocky

删除 mlxbf-bootimages 软件包

复制
已复制!
            

<bf> $ yum -y remove mlxbf-bootimages* --noautoremove <bf> $ yum makecache

导出所需的发行版

导出包含相关 URL 的 DOCA_REPO

复制
已复制!
            

<bf> $ export DOCA_REPO="<URL>"

添加 DOCA 在线存储库

复制
已复制!
            

echo "[doca] name=DOCA Online Repo baseurl=$DOCA_REPO enabled=1 gpgcheck=0 priority=10 cost=10" > /etc/yum.repos.d/doca.repo

/etc/yum.repos.d/doca.repo 下创建一个文件。

更新索引

复制
已复制!
            

<bf> $ yum makecache

升级 UEFI/ATF 固件

安装 ATF/UEFI 软件包和 mlxbf-bfscripts

复制
已复制!
            

<bf> $ yum install -y mlxbf-bootimages-signed mlxbf-bfscripts

启动 UEFI/ATF 固件升级

复制
已复制!
            

<bf> $ bfrec

升级 BlueField NIC 固件

以下命令更新固件软件包并将固件刷新到 NIC

复制
已复制!
            

<bf> $ yum install -y mlnx-fw-updater-signed

升级 BMC 组件

将 BMC 密码插入到配置文件 /etc/bf-upgrade.conf

信息

bf-upgrade.conf 的格式应与 bf.cfg 相同。有关参考,请参阅“使用 bf.cfg 自定义 BlueField 软件部署”。

复制
已复制!
            

<bf> $ cat > /etc/bf-upgrade.conf << EOF BMC_PASSWORD="<password>" EOF

要在 BMC 版本升级后立即应用新固件,请将以下参数添加到 bf-upgrade.conf 文件中

复制
已复制!
            

<bf> $ cat >> /etc/bf-upgrade.conf << EOF BMC_REBOOT="yes" CEC_REBOOT="yes" EOF

信息

BMC_REBOOT="yes" 在版本更新后重启 BMC 并重置控制台。

CEC_REBOOT="yes" 仅在当前 CEC 版本为 00.02.0180.0000 及更高版本时才有效。

信息

要在稍后应用新的 BMC 固件,用户必须手动重置 BMC 和 CEC 组件。有关信息,请参阅“使用 CEC 自复位命令重置 CEC 和 BMC 子系统”。

安装 BMC 组件的软件包

复制
已复制!
            

<bf> $ yum -y install bf3-bmc-nic-fw-* bf3-bmc-fw-signed bf3-cec-fw-signed bf3-bmc-gi-signed <bf> $ yum -y install bf-release*

启动 BMC 组件的升级

复制
已复制!
            

<bf> $ dpu-bmc-upgrade

信息

升级过程应最多需要 20 分钟。

删除旧的元软件包

复制
已复制!
            

<bf> $ yum remove doca* mlnx-ofed* kernel-mft* -y

信息

如果您从 DOCA 2.7.0 或更低版本升级,请务必同时删除 strongSwan 和 Libreswan 软件包

复制
已复制!
            

<bf> $ yum remove strongswan-bf strongswan-swanctl <bf> $ yum remove strongswan-bf strongswan-swanctl libreswan

安装新的元软件包

复制
已复制!
            

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

仅对于 Anolis OS,锁定内核

固定内核软件包版本

复制
已复制!
            

<bf> dnf install python3-dnf-plugin-versionlock <bf> dnf versionlock kernel*

升级系统

复制
已复制!
            

<bf> $ yum upgrade --nobest

仅对于 Anolis OS,更新 grub 文件配置

更新 grub 文件参数以使 OS 在 BlueField 系统重启后能够启动

复制
已复制!
            

<bf> $ sed -i 's/GRUB_ENABLE_BLSCFG=true/GRUB_ENABLE_BLSCFG=false/' /etc/default/grub; mv /boot/efi/EFI/anolis/grub.cfg.rpmsave /boot/efi/EFI/anolis/grub.cfg

应用新的更改、NIC 固件和 UEFI/ATF

要使升级生效,请执行BlueField 系统重启

注意

此步骤会立即触发 BlueField Arm 核心的重启。

希望构建自己的自定义 BlueField OS 镜像的用户可以使用 BFB 构建环境。有关更多详细信息,请参阅 此 GitHub 网页中的 bfb-build 项目。

要在启用 UEFI 安全启动的 BlueField(默认安全启动设置)上启动自定义 BlueField OS 镜像,必须满足以下条件

  • OS 镜像必须使用 UEFI DB 中已存在的密钥(例如,Microsoft 密钥)进行签名

  • 如果以上方法不可行,则必须禁用 UEFI 安全启动以允许启动未签名或不同签名的镜像

有关管理 UEFI 安全启动的详细说明,请参阅BlueField 平台 SW 文档中的“安全启动”页面。

© 版权所有 2025 NVIDIA。 上次更新时间:2025 年 2 月 12 日。