All of lore.kernel.org
 help / color / mirror / Atom feed
From: "yuan.li@linux.intel.com" <yuan.li@linux.intel.com>
To: openbmc <openbmc@lists.ozlabs.org>
Subject: [Design] PSU firmware update
Date: Mon, 10 Jun 2019 16:28:41 +0800	[thread overview]
Message-ID: <2019061016283984388518@linux.intel.com> (raw)
In-Reply-To: mailman.2630.1559853029.4162.openbmc@lists.ozlabs.org

[-- Attachment #1: Type: text/plain, Size: 2971 bytes --]

>On 2019-06-05 22:31, Lei YU wrote:
>> On Wed, Jun 5, 2019 at 10:25 PM Matt Spinler <mspinler@linux.ibm.com> 
>> wrote:
>>> 
>>> 
>>> On 6/5/2019 1:18 AM, Lei YU wrote:
>>> >>> The PSU firmware code update will re-use the current interfaces to upload,
>>> >>> verify, and activate the image.
>>> >> We would like the option to be able to ship the PSU firmware as part of
>>> >> the BMC image (in the root filesystem). This means that it is already
>>> >> present and authenticated when the BMC boots. In this way, we know that
>>> >> the current BMC firmware plays well with the PSU firmware and have fewer
>>> >> variables to test for when making a release.
>>> > Because the PSU firmware is part of BMC image, this seems a completely
>>> > different approach, and more like part of BMC image update, is it?
>>> > I would expect this should not be part of this design, what do you think?
>>> 
>>> FYI, I am 99% sure this is how IBM needs its systems to work as well.
>>> That being the case,
>>> 
>>> will you also be handling this design?
>> 
>> Good to know.
>> 
>> Then a question comes up:
>> In which cases PSU firmware update shall be done?
>> 1. It is updated together with BMC firmware update as described by 
>> Vernon
>>    Mauery;
>> 2. It is updated independently with APIs, as described in this design 
>> doc.
>> 
>> Will 1 and 2 both be valid, or only 1 is the real case and we do not 
>> need to
>> support 2?
>> 
> 
> I see it as having a single tarball file that has the required files to 
> update the
> BMC and the PSU. When this tarball is uploaded, then a new Version with 
> a Purpose
> of System or some other name is created. When this Version is activated, 
> this
> triggers the BMC updater (existing) and the PSU updater (new) to check 
> if all
> the necessary files to perform the update of their component exist. If 
> yes, each
> updater updates their piece and if any one fails it'd mark the Version 
> as Failed
> (TBD on synchronizing the updaters to mark the Version as Active or 
> Failed).
> So the PSU would be updated at the same time as the BMC, but done by its 
> own
> updater application.
>  
> Thoughts?
>

I have different opinion about this. In current practice it's not a tarball which 
could be decompressed easily. The embedded BMC update image is signed. PSU
firmware is a part of the root filesystem (as a file). In this case the  whole update 
flow would look like:
1. Upload and update the BMC firmware itself.
2. Boot to new version of BMC firmware.
3. BMC to read PSU firmware version from PSU, and compare with the file shipped
    with this BMC firmware.
4. If update needed, update tool could be launched.

Benefit for this is that PSU firmware update process is transparent to end user.

How do you think?

Yuan Li

>> The reason I ask is because if we could get clear requirements, it is 
>> possible
>> to simplify the design.



[-- Attachment #2: Type: text/html, Size: 4907 bytes --]

       reply	other threads:[~2019-06-10  8:28 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.2630.1559853029.4162.openbmc@lists.ozlabs.org>
2019-06-10  8:28 ` yuan.li [this message]
2019-06-03  8:54 [Design] PSU firmware update Lei YU
2019-06-03 13:31 ` Andrew Geissler
2019-06-03 17:23   ` Neeraj Ladkani
2019-06-04  2:58     ` Lei YU
2019-06-04  6:43       ` Neeraj Ladkani
2019-06-04  7:02         ` Lei YU
2019-06-04  7:20           ` Neeraj Ladkani
2019-06-04  7:28       ` Alexander Amelkin
2019-06-04 18:22       ` Vernon Mauery
2019-06-04  2:42   ` Lei YU
2019-06-03 20:48 ` Derek Howard
2019-06-04  3:19   ` Lei YU
2019-06-04 18:26 ` Vernon Mauery
2019-06-05  6:18   ` Lei YU
2019-06-05 14:25     ` Matt Spinler
2019-06-05 14:42       ` Adriana Kobylak
2019-06-06  3:31       ` Lei YU
2019-06-06 20:31         ` Adriana Kobylak
2019-06-07 14:35           ` Matt Spinler
2019-06-07 15:52             ` Derek Howard
2019-06-10  3:16               ` Lei YU
2019-06-10 20:43                 ` Derek Howard
2019-06-10  3:18           ` Lei YU

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2019061016283984388518@linux.intel.com \
    --to=yuan.li@linux.intel.com \
    --cc=openbmc@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.