Introduction#
An NVIDIA® Grace™ Hopper™ server comprises Grace CPUs, optional GPUs, and a few other components (refer to 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 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 Grace Hopper:
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
Updating Grace Hopper 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
nvfwupd
is 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> user=<BMC login id> password=<BMC password> port=<port num for port forwarding> servertype=<Type of server>
BMC target comprising BMC IP address and BMC login credentials. servertype and port are optional. Valid value for servertype is one of [DGX, HGX, MGX, GH200, NVOS, HGXB100, GB200, GB300, 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
-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
-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']
<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.