Packaging and deploying multiple firmware image types in one

Adriana Kobylak anoo at linux.ibm.com
Sat Nov 16 01:51:57 AEDT 2019


>> Ok, here are my thoughts:
>> The phosphor-version-software-manager might put all internal tarballs 
>> in the
>> /tmp/images folder during processing the top level tarball. That will 
>> lead to
>> creation of corresponding D-Bus objects. Each of them will have their 
>> own
>> purpose, version, object path and so on.
> 
> Yeah agree. We may still need some way to let the
> phosphor-version-software-manager
> know that it needs to untar the internal tarballs, maybe a very simple 
> MANIFEST
> with a new field, then each individual tarball would have their own
> MANIFEST that
> creates the D-Bus versions like you mentioned.
> 

For the bmcweb change to support the System purpose 
(https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/27144), Andrew 
had the comment about if we could have the software manager determine 
the .BMC, .Host, .PSU details out of a System image and populate the 
individual version interfaces, which further confirms that the current 
Version D-Bus interface is insufficient to detail the individual 
components of a "System" firmware image, and that workarounds like 
adding individual Manifest files that Alexander proposed are needed.

Therefore, wanted to see what people thought about expanding the 
software D-Bus interface to add a 2nd version id to the path of a System 
version, which would contain the version information for each 
sub-element, but would not contain an Activation object:

--
Current, leave as is for individual firmware images:

/xyz/openbmc_project/software/<bmc-version-id>/
   - Activation: Ready
   - Purpose: .BMC
   - Version: 2.8.0

/xyz/openbmc_project/software/<host-version-id>/
   - Activation: Ready
   - Purpose: .Host
   - Version: 1.2.3

--
New expanded option for bundled images:

/xyz/openbmc_project/software/<system-version-id>/
   - Activation: Ready
   - Purpose: .System
   - Version: CompanyZ-v1.0
   /xyz/openbmc_project/software/<sysrem-version-id>/<bmc-version-id>/
     - Purpose: .BMC
     - Version: 2.8.0
   /xyz/openbmc_project/software/<sysrem-version-id>/<host-version-id>/
     - Purpose: .Host
     - Version: 1.2.3


More information about the openbmc mailing list