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.

Grace Hopper 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:

  1. To get a PLDM firmware package that is signed by NVIDIA, contact the Application Engineering (AE) Team.

  2. 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)
  1. 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.