关于 nvfwupd 命令#

要求#

nvfwupd 可执行文件在 Linux 操作系统上运行,并且适用于 x86_64arm64 架构的机器。 您可以在 DGX 系统本地运行 x86_64 可执行文件,也可以使用远程 Linux 系统。

如果您在 DGX 系统本地运行 nvfwupd,则可以连接到主机 Redfish 接口 IP 地址,而不是像示例命令中所示的那样连接到 BMC IP 地址。

要下载最新版本的 nvfwupd 可执行文件,请登录 NVIDIA 企业支持门户

语法#

nvfwupd version 2.0.5

Usage: nvfwupd [ global options ] <command>

Global options:
    -t --target ip=<BMC IP> user=<BMC login id> password=<BMC password> servertype=<Type of server>
           BMC target comprising BMC IP address and BMC login credentials. The servertype sub-option is optional.
           Valid value for servertype is one of [DGX, HGX, MGX, GH200, NVOS, HGXB100, GB200, MGX-NVL, GB200Switch].

    -c --config Path for config file (optional).
           Configure tool behavior.

    -v --verbose Chosen path for logfile (optional). Default path is current working directory.
           Increase verbosity.

Commands:
     help       Show tool help.

     version    Show tool version.

     show_pkg_content [ options... ]
         -p  --package        PLDM firmware package.

     unpack [ options... ]
         -p  --package        PLDM firmware package.
         -o  --outdir         Directory path to save unpacked firmware files (optional).
                              Default path is current working directory of tool.

     <Global options...> show_version [ options... ]
         -p  --package                PLDM firmware package.
         -j  --json                   Show output in JSON.

     <Global options...> update_fw [ options... ]
         -p  --package                PLDM firmware package.
         -y  --yes                    Bypass firmware update confirmation prompt.
         -b  --background             Exit without waiting for the update process to finish.
         -t  --timeout                API request timeout value in seconds.
         -s  --special                Special Update json file.
         -d  --details                Show update progress in table format.
         -j  --json                   Show output in JSON. Must be paired with the -b
                                      background option, and always bypasses update confirmation prompt.

     <Global options...> activate_fw [ options... ]
         -c  --cmd                    Activation command name.
                                      List of supported commands ['PWR_STATUS', 'PWR_OFF', 'PWR_ON',
                                      'PWR_CYCLE', 'RESET_COLD', 'RESET_WARM', 'NVUE_PWR_CYCLE',
                                      'RF_AUX_PWR_CYCLE'].

     <Global options...> force_update [ options... ]
         enable|disable|status        Enable, disable, or check current force update value on target.
         -j  --json                   Show output in JSON.

     <Global options...> show_update_progress [ options... ]
         -i  --id                     List of Task IDs delimited by space.
         -j  --json                   Show output in JSON.

     <Global options...> perform_factory_reset

     <Global options...> install_license

     <Global options...> make_upd_targets [ options... ]
         -o  --outdir                 Directory path to create update target files (optional).
                                      Default path is current working directory of tool.

了解后台处理#

默认情况下,nvfwupd update_fw 命令与 Redfish API 通信,将固件更新进度打印到控制台,并在命令运行完成后退出。

或者,您可以指定 --background-b 参数,以便该命令与 Redfish API 通信,将任务 ID 打印到控制台,然后退出。 在这种情况下,您可以定期运行带有任务 ID 的 nvfwupd show_update_progress 命令来监控更新进度。

  1. 创建一个组件特定的 updparameters.json 文件。

  2. 在后台更新固件

    nvfwupd -t ip=<bmc-ip-address> user=<bmc-user-id> password=<bmc-password> update_fw \
      -p <firmware-package-file> -y -s updparameters.json -b
    

    示例输出

    FW recipe: ['<firmware-package-file>']
    {"@odata.type": "#UpdateService.v1_6_0.UpdateService", ...}
    FW update started, Task Id: 1
    

    注意

    如果出现 Platform dgxhxxx not supported 错误,请选择以下任一方法来解决未识别平台的问题

    • nvfwupd 工具更新到 2.0.4 或更高版本,以实现 DGX 平台的自动检测。

    • 使用 --target 选项指定 servertype=DGX 子选项,然后重试。 例如,

      nvfwupd -t ip=<bmc-ip-address> user=<bmc-user-id> password=<bmc-password> \
      servertype=DGX update_fw -p <firmware-package-file> -y -s parameters.json
      
  3. 显示任务的更新进度

    nvfwupd -t ip=<bmc-ip-address> user=<bmc-user-id> password=<bmc-password> show_update_progress -i 1
    

    示例输出

    {'id': ['1']}
    Task Info for Id: 1
     StartTime: 2023-03-11T01:10:01-0000
     TaskState: Running
     PercentComplete: 58
     TaskStatus: OK
     EndTime: 2023-03-11T01:10:00+00:00
     TaskStatus: Task /redfish/v1/UpdateService/upload is running normally.
    

    最终,“完成百分比”字段报告 100,“任务状态”字段报告 Completed

  4. 要激活固件更新,请参阅 固件更新激活 以获取更多信息。