BMC Firmware Update

BMC User Guide (Latest Version)
  1. Download BMC firmware to your Linux host machine from https://developer.nvidia.com/igx-downloads.

  2. On the Host Machine: Extract the downloaded BMC firmware, for example:

    Copy
    Copied!
                

    sudo tar xvjf bmc_fw_R36.1.0_aarch64.tbz2

  3. Firmware images will be available in the ‘bmc’ directory.

Note

For more details regarding release versions and dates, refer to README from bmc/release/README.txt.

ERoT hardware is part of the BMC module. Here, ERoT is defined as External Root of Trust, which provides a secure flash and boot mechanism. Since the NVIDIA IGX Developer Kit is not for production, and only tailored for development, it is provided without ERoT hardware.

The NVIDIA IGX Developer Kit will follow the Non-ERoT based firmware update, while the IGX Orin Board Kit follows the ERoT based firmware update.

  1. Comment out everything inside /usr/share/mctp/mctp by prepending each line with a #, using a text editor such as vi, or with the following sed command:

    Copy
    Copied!
                

    sed 's/^/#/' -i /usr/share/mctp/mctp

  2. Reboot the BMC:

    Copy
    Copied!
                

    reboot

  3. Copy image-bmc from Steps to Get BMC Firmware in run/initramfs/ using the SCP tool from the host:

    Copy
    Copied!
                

    scp image-bmc root@192.168.1.110:/run/initramfs/

  4. Update the new image in the BMC:

    Copy
    Copied!
                

    /run/initramfs/update

    Wait for 100% completion.

  5. Reboot BMC:

    Copy
    Copied!
                

    reboot

    Wait for BMC boot to complete (which takes about 1 minute).

  6. Set the password again, as this procedure reset it to the default 0penBmc.

You can update BMC Firmware from WebUI. See BMC Web User Interface Features for more details.

Alternatively, run the below steps on the local Ubuntu host machine where BMC is attached:

  1. First, run the following:

    Copy
    Copied!
                

    export bmc=<BMC_IP>

  2. Update below command (with the correct BMC password) and run:

    Copy
    Copied!
                

    export token=`curl -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d '{"username" : "root", "password" : "0penBmc"}' | grep token | awk '{print $2;}' | tr -d '"'`

  3. Download igx-bmc-apfw.fwpkg from the path in Steps to Get BMC Firmware, then update the image path using the below command, and run:

    Copy
    Copied!
                

    curl -k -H "X-Auth-Token:$token" -H "Content-Type: application/octet-stream" -X POST -T <give path of igx-bmc-apfw.fwpkg> https://${bmc}/redfish/v1/UpdateService

  4. Track Firmware update completion using the Task ID returned from previous command:

    Copy
    Copied!
                

    curl -k -H "X-Auth-Token:$token" -X GET https://${bmc}/redfish/v1/TaskService/Tasks/<TaskID>, Ex: curl -k -H "X-Auth-Token:$token" -X GET https://${bmc}/redfish/v1/TaskService/Tasks/0

  5. Once task state become completed, Reboot the BMC from the Web UI or using below redfish command:

    Copy
    Copied!
                

    curl -k -H "X-Auth-Token:$token" -X POST https://${bmc}/redfish/v1/Managers/BMC_0/Actions/Manager.Reset -d '{"ResetType": "GracefulRestart"}'

Previous Download BMC Source Package
Next Power Management
© Copyright 2024, NVIDIA. Last updated on Jan 19, 2024.