更新 BMC#

  1. 创建一个 update_bmc.json 文件,内容如下

    {
        "Targets" :["/redfish/v1/UpdateService/FirmwareInventory/HostBMC_0"]
    }
    
  2. 更新固件

    nvfwupd -t ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> update_fw \
      -p nvfw_DGX_250212.1.1.fwpkg -y -s update_bmc.json
    

    示例输出

    FW recipe: ['nvfw_DGX_250212.1.1.fwpkg']
    {"@odata.type": "#UpdateService.v1_6_0.UpdateService", "Messages": [{"@odata.type": "#Message.v1_0_8.Message", "Message": "A new task /redfish/v1/TaskService/Tasks/2 was created.", "MessageArgs": ["/redfish/v1/TaskService/Tasks/2"], "MessageId": "Task.1.0.New", "Resolution": "None", "Severity": "OK"}, {"@odata.type": "#Message.v1_0_8.Message", "Message": "The action UpdateService.MultipartPush was submitted to do firmware update.", "MessageArgs": ["UpdateService.MultipartPush"], "MessageId": "UpdateService.1.0.StartFirmwareUpdate", "Resolution": "None", "Severity": "OK"}]}
     FW update started, Task Id: 2
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    PercentageComplete: 6
     TaskState: Running
     PercentComplete: 6
     TaskStatus: OK
     ...
    
     PercentageComplete: 100
     TaskState: Completed
     PercentComplete: 100
     TaskStatus: OK
    Firmware update successful!
     Overall Time Taken: 0:36:11
    Refer to 'DGX B200 Firmware Update Document' on activation steps for new firmware to take effect.
    
  3. 重置 BMC,以便 BMC 启动新固件

    $ ipmitool mc reset cold
    
    # Wait a couple of minutes and confirm the BMC is back online.
    $ ipmitool mc info
    
  4. 重启系统。