Introduction#
An NVIDIA® Grace™ Hopper™ or Grace Blackwell server comprises Grace CPUs, optional GPUs, and a few other components (refer to the table below). Application Programming (AP) components can be updated using Out-Of-Band (OOB) with Redfish APIs or using in-band with vendor-provided tools.
The table below lists the available Grace Hopper or Grace Blackwell AP components, the update methods, and where to find the instructions to update these components.
Component |
OOB Bundle |
In Band Update |
|---|---|---|
Entire Bundle |
Y |
N |
BMC ERoT |
Y |
N |
BMC |
Y |
N |
CPU ERoT |
Y |
N |
GPU |
Y |
N |
FPGA |
Y |
N |
Supported Platforms#
The following platforms are supported in NVFWUPD:
NVIDIA Grace P4352, NVIDIA GH200 P4351, and NVIDIA Grace Hopper x4
NVIDIA GH200, NVIDIA MGX C2 Grace SuperChip, and NVIDIA MGX GH200
NVIDIA GB200 NVL, NVIDIA GB300 NVL
Delta PowerShelf, LiteOn PowerShelf
Updating Grace Hopper or Grace Blackwell Firmware#
This section provides information about how to update the firmware using the nvfwupd tool.
Tool and Firmware Availability#
To determine the tool and firmware availability, complete the following steps:
To get a PLDM firmware package that is signed by NVIDIA, contact the Application Engineering (AE) Team.
Enter the following information:
BMC-IP address or hostname
User ID
password
To get the dynamic libraries required, run the following commands.
$ ldd nvfwupd
linux-vdso.so.1 (0x00007ffed3bcd000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe2cab9e000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe2cab7b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe2ca989000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe2caddb000)
Additional Tools Needed:
IPMITool must additionally be installed for full firmware activation command support
Important
The package only runs in a Linux environment, and
nvfwupdis an ELF binary.The package has been tested on arm64 and x86_64 Ubuntu.
Any Linux distribution that supports the listed dynamic libraries and additional tools should be able to run
nvfwupd.
Command Syntax#
Usage: nvfwupd [ global options ] <command>
Global options:
-t --target ip=<BMC IP/NVOS IP> user=<login id> password=<password> port=<port num for port forwarding> servertype=<Type of server>
Target comprising BMC/NVOS IP address and BMC/NVOS login credentials. NVOS IP used for GB200Switch/GB300Switch. servertype and port are optional arguments. Valid value for servertype is one of [DGX, HGX, MGX, GH200, HGXB100, HGXB300, GB200, GB300, MGX-NVL, GB200Switch, GB300Switch, Powershelf]
-o --os_target ip=<OS IP> user=<OS login id> password=<OS password> port=<port num for port forwarding> servertype=<Type of server>
OS target comprising OS IP address and OS login credentials. servertype and port are optional. Valid value for servertype is one of [DGX, HGX, MGX, GH200, HGXB100, HGXB300, GB200, GB300, MGX-NVL, GB200Switch, GB300Switch, Powershelf]
-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
-s --staged Show staged firmware versions
<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
-o --oem_parameters Oem Parameters 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.
-u --staged_update SPI Staged Update
-a --staged_activate_update SPI and Activate Staged Update
<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', 'RF_PWR_ON', 'RF_PWR_OFF', 'RF_PWR_CYCLE', 'RF_PWR_STATUS']
<Global options...> background_copy [ options... ]
-s --special JSON File for selecting background copy target
<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.
<Global options...> flint_update [ options... ]
-i --image Image file for firmware flashing and version comparison
-d --device_type Device type for firmware flashing and version query (e.g., BlueField3, ConnectX)
-j --json show output in JSON.
-v --version Query firmware version only