更新 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_240918.1.0.fwpkg -y -s update_bmc.json
    

    示例输出

    FW recipe: ['nvfw_DGX_240918.1.0.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 H100 Firmware Update Document' on activation steps for new firmware to take effect.
    
  3. 重置 BMC,以便 BMC 启动新固件

    # If you have a shell on the system
    $ sudo ipmitool mc reset cold
    
    # If you are logged in to a different system
    $ ipmitool -H <bmc-ip-address> -I lanplus -U <bmc-username> -P <bmc-password> mc reset cold
    
  4. 重启系统。