BMC Firmware Update
Download BMC firmware to your Linux host machine from https://developer.nvidia.com/igx-downloads.
On the Host Machine: Extract the downloaded BMC firmware, for example:
sudo tar xvjf bmc_fw_R36.1.0_aarch64.tbz2
Firmware images will be available in the ‘bmc’ directory.
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.
Comment out everything inside
/usr/share/mctp/mctp
by prepending each line with a#
, using a text editor such asvi
, or with the followingsed
command:sed 's/^/#/' -i /usr/share/mctp/mctp
Reboot the BMC:
reboot
Copy
image-bmc
from Steps to Get BMC Firmware inrun/initramfs/
using the SCP tool from the host:scp image-bmc root@192.168.1.110:/run/initramfs/
Update the new image in the BMC:
/run/initramfs/update
Wait for 100% completion.
Reboot BMC:
reboot
Wait for BMC boot to complete (which takes about 1 minute).
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:
First, run the following:
export bmc=<BMC_IP>
Update below command (with the correct BMC password) and run:
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 '"'`
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:
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
Track Firmware update completion using the Task ID returned from previous command:
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
Once task state become completed, Reboot the BMC from the Web UI or using below redfish command:
curl -k -H "X-Auth-Token:$token" -X POST https://${bmc}/redfish/v1/Managers/BMC_0/Actions/Manager.Reset -d '{"ResetType": "GracefulRestart"}'