| commit | dd003f54a3cbec110ef105ea11d7f445eaf10be0 | [log] [tgz] | 
|---|---|---|
| author | Jagpal Singh Gill <paligill@gmail.com> | Tue Aug 13 15:45:50 2024 -0700 | 
| committer | Jagpal Singh Gill <paligill@gmail.com> | Thu Oct 17 14:32:53 2024 -0700 | 
| tree | cda9685b9393709bbeace21d474f7bc4dac088f8 | |
| parent | 5d655681f59a1a31de78c56cd13ff6fe1e7b520e [diff] | 
add bios update support
The BIOS would be updated using multipart-form update as HTTP Push URI
is being default used for BMC updates.
Tested:
```
> curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/bios_active
{
  "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/bios_active",
  "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory",
  "Description": "Host image",
  "Id": "bios_active",
  "Name": "Software Inventory",
  "RelatedItem": [
    {
      "@odata.id": "/redfish/v1/Systems/system/Bios"
    }
  ],
  "RelatedItem@odata.count": 1,
  "Status": {
    "Health": "OK",
    "HealthRollup": "OK",
    "State": "Enabled"
  },
  "Updateable": true,
  "Version": "null"
}
> curl -k -H "X-Auth-Token: $token" -H "Content-Type:multipart/form-data" -X POST -F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/bios_active\"],\"@Redfish.OperationApplyTime\":\"OnReset\"};type=appli
cation/json" -F "UpdateFile=@bios_image.tar;type=application/octet-stream" https://${bmc}/redfish/v1/UpdateService/update
{
  "@odata.id": "/redfish/v1/TaskService/Tasks/0",
  "@odata.type": "#Task.v1_4_3.Task",
  "Id": "0",
  "TaskState": "Running",
  "TaskStatus": "OK"
}
> curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/bios_active
{
  "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/bios_active",
  "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory",
  "Description": "Host image",
  "Id": "bios_active",
  "Name": "Software Inventory",
  "RelatedItem": [
    {
      "@odata.id": "/redfish/v1/Systems/system/Bios"
    }
  ],
  "RelatedItem@odata.count": 1,
  "Status": {
    "Health": "OK",
    "HealthRollup": "OK",
    "State": "Enabled"
  },
  "Updateable": true,
  "Version": "2.17.0-dev-703-g61fd99b720-TestBios"
}
```
Change-Id: I213e28d7d1a00aa15f695ab855a96961113548ae
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
Phosphor BMC Code Management provides a set of system software management applications. More information can be found at Software Architecture
To build this package, do the following steps:
meson buildninja -C buildTo clean the repository run rm -r build.