Read Firmware Versions
Vijay Khemka
vijaykhemka at fb.com
Thu Sep 24 11:39:11 AEST 2020
On 9/23/20, 1:19 PM, "openbmc on behalf of Adriana Kobylak" <openbmc-bounces+vijaykhemka=fb.com at lists.ozlabs.org on behalf of anoo at linux.ibm.com> wrote:
On 2020-09-23 10:35, Patrick Williams wrote:
> On Tue, Sep 22, 2020 at 01:34:50PM +0000, Jayashree D wrote:
>> Classification: HCL Internal
>>
>> Thanks Patrick for your response.
>>
>> In phosphor-bmc-code-mgmt, I am seeing the software image is upgraded
>> and based on the image update, version is updated.
>> But in my platform, I have to read firmware versions using oem
>> commands and that version should be displayed under dbus objects.
>> Whether phosphor-bmc-code-mgmt repo will be suitable to display the
>> firmware version using dbus objects?
>
> Vijay recently added a simple BIOS flash management to
> phosphor-bmc-code-mgmt, but there is also a openpower-pnor-code-mgmt
> for
> the equivalent of BIOS management on openpower systems. Since your
> code
> update scheme is likely to be specific to your IPMB commands, I don't
> know if that would be best in a separate repository or an extension
> onto
> phosphor-bmc-code-mgmt.
>
> Adriana, any opinions?
It could fit in phosphor-bmc-code-mgmt, some thoughts:
The d-bus objects get created at 2 different times:
1. One scenario is when an image is uploaded to be updated, this is the
support that Vijay added which allows a custom script to be run to
update the BIOS image. If you're interested in this method for updating
your BIOS, you could potentially add your IPMB commands in that service
and use the Activation interfaces to drive the update.
2. The second scenario is when the BMC reboots and it recreates the
d-bus objects. For this scenario, there's no currently support for BIOS,
so for example the support that Vijay added does not create a d-bus
interface if the BMC reboots, which is ok if you only want to use the
Activation interface to trigger the update. But sounds like you want to
always have the version information as a d-bus object, so support for
BIOS could be added. For example, to get the BMC levels, the code looks
for version information in the BMC in the media directory. If you get
your app to get the version information via the oem commands you
mentioned and create a file in the bmc in the media directory we could
extend the logic to create the Version d-bus objects for each BIOS
version when the BMC reboots. We'd just need to work out the details for
the format for the files that would host the version information, and
how to identify they're BIOS versions vs BMC.
I already create a file after reading bios version via oem commands, Is there
a pattern where should we keep this file and what is the name of file. Also
I thought there is a dbus interface for bios management already created by
some daemon newly added which can keep bios version.
More information about the openbmc
mailing list