Question about Redfish code update with multiple firmware

Andrew Geissler geissonator at gmail.com
Mon Jan 4 12:51:15 AEDT 2021



> On Dec 23, 2020, at 3:54 AM, Tony Lee (李文富) <Tony.Lee at quantatw.com> wrote:
> 
> Hi Andrew,
> 
> I did the Redfish code update with multiple firmware at my environment.
> Steps as follows:
> 
> There are two different image A and B. 
> 
> curl -k -H "X-Auth-Token: $bmc_token" -H "Content-Type: application/octet-stream" -X POST -T <imageA> https://${bmc}/redfish/v1/UpdateService
> 
> curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${bmc}/redfish/v1/UpdateService/FirmwareInventory
> {
>  "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory",
>  "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection",
>  "Members": [
>    {
>      "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/5805e80e"
>    }
>  ],
>  "Members at odata.count": 1,
>  "Name": "Software Inventory Collection"
> }
> 
> curl -k -H "X-Auth-Token: $bmc_token" -H "Content-Type: application/octet-stream" -X POST -T <imageB> https://${bmc}/redfish/v1/UpdateService
> 
> curl -k -H "X-Auth-Token: $bmc_token" X GET https://${bmc}/redfish/v1/UpdateService/FirmwareInventory
> {
>  "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory",
>  "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection",
>  "Members": [
>    {
>      "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/dce3bf32"
>    }
>  ],
>  "Members at odata.count": 1,
>  "Name": "Software Inventory Collection"
> }
> 
> You can tell that first image will be replaced by the second one.
> Does it match the situation described in the "Delete an Image" section of firmware-update-over-redfish.md?
> What is the expected behavior when doing Redfish code update with multiple firmware?

Hi Tony, the behavior is system specific. On our IBM systems we provide a redundant
flash chip (or section of an emmc chip). My understanding of the BMC update firmware
is it will write the other section if present otherwise it will overwrite the existing image.

https://github.com/openbmc/docs/tree/master/architecture/code-update (or Adriana)
may have some more info on redundancy support.

https://github.com/ibm-openbmc/dev/issues/794 has some links and info on our
bmcweb/Redfish support for the other image when the system supports it.

Andrew


> 
> Thanks
> Best Regards,
> Tony
> 



More information about the openbmc mailing list