Appendix - BMC and eROT Upgrade Process for BlueField-2
To upgrade BlueField BMC firmware on a BlueField-2 device, follow this procedure:
Download
openbmctool
v1.22 and resolve dependencies.sudo pip3 install paramiko
sudo pip3 install scp
Trigger BMC update.
python3 openbmctool.py -H <BF-BMC-IP> -U root -P <password> firmware flash bmc -f <path-to-signed-bmc-image>
After initiating the BMC firmware secure update, a new task is created. Example:
Attempting login... Uploading file to BMC Upload complete. Firmware activation is in progress. Please wait for activation task id="0" to get completed before rebooting the bmc. User root has been logged out
InfoBMC firmware update takes 15-20 mins .
Track the progress of the update by using the task
Id
received in the response above (i.e., 0) in your query and monitoring the value of the task’sTaskProgress
field.python3 openbmctool.py -H <BF-BMC-IP> -U root -P <password> task status -i <task_Id>
Before proceeding to other operations. Keep running this command until it outputs:
TaskState="Completed" TaskStatus="OK" TaskProgress="100"
Reset/reboot the BMC.
InfoThis step may be skipped if you intend to perform eROT update.
python3 openbmctool.py -H <BF-BMC-IP> -U root -P <password> firmware running_version
InfoWait a few seconds before attempting to log back into the BMC as it loses connection during and shortly after reboot.
Trigger eROT update.
python3 openbmctool.py -H <ip_address> -U root -P <BF-BMC-IP> apfirmware flash cec -f <path-to-signed-CEC-OTA-image-file>
A fter initiating the eROT update, the following indication is provided:
Uploading firmware image:
100.00
% Firmware updatefor
cec triggered successfully.Perform h ost power cycle for the eROT update to take effect:
sudo ipmitool power cycle