Using the DGX-2 FW Update Utility
The NVIDIA DGX-2 System Firmware Update utility is provided in a tarball file and also as a .run file. Copy the files to the DGX-2 system, then update the firmware using one of the following three methods:
NVSM provides convenient commands to update the firmware using the firmware update container
Using Docker to run the firmware update container
Using the .run file which is a self-extracting package embedding the firmware update container tarball
Caution
Stop all unnecessary system activities before attempting to update firmware.
Stop all GPU activity, including accessing nvidia-smi, as this can prevent the VBIOS from updating.
Do not add additional loads on the system (such as user jobs, diagnostics, or monitoring services) while an update is in progress. A high workload can disrupt the firmware update process and result in an unusable component.
When initiating an update, the update software assists in determining the activity state of the DGX system and provides a warning if it detects that activity levels are above a predetermined threshold. If the warning is encountered, you are strongly advised to take action to reduce the workload before proceeding with the update.
Note
Fan speeds may increase while updating the BMC firmware. This is a normal part of the BMC firmware update process.
Using NVSM
The NVIDIA DGX-2 system software includes Docker software required to run the container.
Copy the tarball to a location on the DGX system.
From the directory where you copied the tarball file, enter the following command to load the container image.
sudo docker load -i nvfw-dgx2_24.3.1_240304.tar.gz
To verify that the container image is loaded, enter the following.
sudo docker images REPOSITORY TAG nvfw-dgx2 24.3.1
Using NVSM interactive mode, enter the firmware update module.
sudo nvsm nvsm-> cd systems/localhost/firmware/install
Set the flags corresponding to the action you want to take.
nvsm(/system/localhost/firmware/install)-> set Flags=<option>
See the Command and Argument Summary section for the list of common flags.
Set the container image to run.
nvsm(/system/localhost/firmware/install)-> set DockerImageRef=nvfw-dgx2:24.3.1
Run the command.
nvsm(/system/localhost/firmware/install)-> start
Using docker run
The NVIDIA DGX-2 system software includes Docker software required to run the container.
Copy the tarball to a location on the DGX system.
From the directory where you copied the tarball file, enter the following command to load the container image.
sudo docker load -i nvfw-dgx2_24.3.1_240304.tar.gz
To verify that the container image is loaded, enter the following.
sudo docker images REPOSITORY TAG nvfw-dgx2 24.3.1
Use the following syntax to run the container image.
sudo docker run --rm --privileged -ti -v /:/hostfs nvfw-dgx2:24.3.1 <command> <[arg1] [arg2] ... [argn]
See the Command and Argument Summary section for the list of common commands and arguments.
Using the .run File
The update container is also available as a run file that does not require a Docker installation.
After obtaining the .run file, make the file executable.
chmod +x nvfw-dgx2_24.3.1_240304.run
Use the following syntax to run the container image.
sudo nvfw-dgx2_24.3.1_240304.run <command> <[arg1] [arg2] ... [argn]
See the Command and Argument Summary section for the list of common commands and arguments.
Command and Argument Summary
The following are common commands and arguments.
Show the manifest
show_fw_manifest
NVSM Example:
nvsm(/system/localhost/firmware/install)-> set Flags=show_fw_manifest
Docker Run Example:
sudo docker run --rm --privileged -ti -v /:/hostfs nvfw-dgx2:24.3.1 show_fw_manifest
.run File Example:
sudo ./nvfw-dgx2_24.3.1_240304 show_fw_manifest
Show version information
show_version
NVSM Example:
nvsm(/system/localhost/firmware/install)-> set Flags=show_version
Docker Run Example:
sudo docker run --rm --privileged -ti -v /:/hostfs nvfw-dgx2:24.3.1 show_version
.run File Example:
sudo ./nvfw-dgx2_24.3.1_240304.run show_version
Check the onboard firmware against the manifest and update all down-level firmware.
update_fw all
NVSM Example:
nvsm(/system/localhost/firmware/install)-> set Flags=update_fw\ all
Note
For NVSM, an escape is needed before blank spaces when setting the flags.
Docker Run Example:
sudo docker run --rm --privileged -ti -v /:/hostfs nvfw-dgx2:24.3.1 update_fw all
.run File Example:
sudo ./nvfw-dgx2_24.3.1_240304.run update_fw all
Check the specified onboard firmware against the manifest and update if down-level.
update_fw [fw]
Where
[fw]
corresponds to the specific firmware as listed in the manifest. Multiple components can be listed within the same command. The following are examples of updating the BMC and SBIOS.NVSM Example:
nvsm(/system/localhost/firmware/install)-> set Flags=update_fw\ BMC\ SBIOS
note:: For NVSM, an escape is needed before blank spaces when setting the flags.
Docker Run Example:
sudo docker run --rm --privileged -ti -v /:/hostfs nvfw-dgx2:24.3.1 update_fw BMC SBIOS
.run File Example:
sudo docker run --rm --privileged -ti -v /:/hostfs nvfw-dgx2:24.3.1 show_fw_manifest