Multi host bios upgrade support in phosphor-bmc-code-mgmt:

Adriana Kobylak anoo at
Tue Oct 6 08:41:12 AEDT 2020

Hi Priyatharshan,

>  Object : /xyz/openbmc_project/software/[FIRMWARE_VERSION]_[DEVICE]
> where device could be host1, 2, ...,N
>  Interface : xyz.openbmc_project.Software.Activation
>  Please confirm if our understanding is correct.

I meant that to generate the id, which currently uses the version 
string, would instead use the version string plus the string for the 
name of the device where it's stored in order to generate the hash. For 
example, today the code calls "SHA512_Update("version")", where 
"version" is for example "2.9.0-dev-663-g2e34bb673". Instead the code 
would detect this version is stored let's say in device "mtd1" or 
"mmcblk0p1", it'd then append that device string to version, ex: 
"2.9.0-dev-663-g2e34bb673-mmcblk0p1" and pass that string to 
SHA512_Update(), therefore creating a different hash depending where 
that version of bmc code is stored.

Note that this is for BMC versions only. We discussed that for host 
versions, we'd need to modify the code to add a "os-release" file under 
/media/ that contained the host version information similar to the BMC's 
os-release file. In addition, we'd need to somehow determine that those 
files were for host (Bios) versions instead of BMC ones. Perhaps 
os-release could have an additional field added to specify the purpose.

> Adriana, Any tentative timeline on your commits availability [generate
> the id based on firmware version plus the device or volume ]

I'd say by early next year at the latest.

More information about the openbmc mailing list