From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=none (mailfrom) smtp.mailfrom=linux.intel.com (client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=yuan.li@linux.intel.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=linux.intel.com Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 45MmW641w4zDqN3 for ; Mon, 10 Jun 2019 18:28:46 +1000 (AEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jun 2019 01:28:42 -0700 X-ExtLoop1: 1 Received: from linux.intel.com ([10.54.29.200]) by orsmga007.jf.intel.com with ESMTP; 10 Jun 2019 01:28:42 -0700 Received: from yli41-MOBL1 (yli41-mobl1.ccr.corp.intel.com [10.239.196.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by linux.intel.com (Postfix) with ESMTPS id 96A0958049E; Mon, 10 Jun 2019 01:28:41 -0700 (PDT) Date: Mon, 10 Jun 2019 16:28:41 +0800 From: "yuan.li@linux.intel.com" To: openbmc Subject: [Design] PSU firmware update References: X-Priority: 3 X-Has-Attach: no X-Mailer: Foxmail 7.2.9.156[cn] Mime-Version: 1.0 Message-ID: <2019061016283984388518@linux.intel.com> Content-Type: multipart/alternative; boundary="----=_001_NextPart624106210581_=----" X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Jun 2019 08:28:51 -0000 This is a multi-part message in MIME format. ------=_001_NextPart624106210581_=---- Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: base64 Pk9uIDIwMTktMDYtMDUgMjI6MzEsIExlaSBZVSB3cm90ZToNCj4+IE9uIFdlZCwgSnVuIDUsIDIw MTkgYXQgMTA6MjUgUE0gTWF0dCBTcGlubGVyIDxtc3BpbmxlckBsaW51eC5pYm0uY29tPiANCj4+ IHdyb3RlOg0KPj4+IA0KPj4+IA0KPj4+IE9uIDYvNS8yMDE5IDE6MTggQU0sIExlaSBZVSB3cm90 ZToNCj4+PiA+Pj4gVGhlIFBTVSBmaXJtd2FyZSBjb2RlIHVwZGF0ZSB3aWxsIHJlLXVzZSB0aGUg Y3VycmVudCBpbnRlcmZhY2VzIHRvIHVwbG9hZCwNCj4+PiA+Pj4gdmVyaWZ5LCBhbmQgYWN0aXZh dGUgdGhlIGltYWdlLg0KPj4+ID4+IFdlIHdvdWxkIGxpa2UgdGhlIG9wdGlvbiB0byBiZSBhYmxl IHRvIHNoaXAgdGhlIFBTVSBmaXJtd2FyZSBhcyBwYXJ0IG9mDQo+Pj4gPj4gdGhlIEJNQyBpbWFn ZSAoaW4gdGhlIHJvb3QgZmlsZXN5c3RlbSkuIFRoaXMgbWVhbnMgdGhhdCBpdCBpcyBhbHJlYWR5 DQo+Pj4gPj4gcHJlc2VudCBhbmQgYXV0aGVudGljYXRlZCB3aGVuIHRoZSBCTUMgYm9vdHMuIElu IHRoaXMgd2F5LCB3ZSBrbm93IHRoYXQNCj4+PiA+PiB0aGUgY3VycmVudCBCTUMgZmlybXdhcmUg cGxheXMgd2VsbCB3aXRoIHRoZSBQU1UgZmlybXdhcmUgYW5kIGhhdmUgZmV3ZXINCj4+PiA+PiB2 YXJpYWJsZXMgdG8gdGVzdCBmb3Igd2hlbiBtYWtpbmcgYSByZWxlYXNlLg0KPj4+ID4gQmVjYXVz ZSB0aGUgUFNVIGZpcm13YXJlIGlzIHBhcnQgb2YgQk1DIGltYWdlLCB0aGlzIHNlZW1zIGEgY29t cGxldGVseQ0KPj4+ID4gZGlmZmVyZW50IGFwcHJvYWNoLCBhbmQgbW9yZSBsaWtlIHBhcnQgb2Yg Qk1DIGltYWdlIHVwZGF0ZSwgaXMgaXQ/DQo+Pj4gPiBJIHdvdWxkIGV4cGVjdCB0aGlzIHNob3Vs ZCBub3QgYmUgcGFydCBvZiB0aGlzIGRlc2lnbiwgd2hhdCBkbyB5b3UgdGhpbms/DQo+Pj4gDQo+ Pj4gRllJLCBJIGFtIDk5JSBzdXJlIHRoaXMgaXMgaG93IElCTSBuZWVkcyBpdHMgc3lzdGVtcyB0 byB3b3JrIGFzIHdlbGwuDQo+Pj4gVGhhdCBiZWluZyB0aGUgY2FzZSwNCj4+PiANCj4+PiB3aWxs IHlvdSBhbHNvIGJlIGhhbmRsaW5nIHRoaXMgZGVzaWduPw0KPj4gDQo+PiBHb29kIHRvIGtub3cu DQo+PiANCj4+IFRoZW4gYSBxdWVzdGlvbiBjb21lcyB1cDoNCj4+IEluIHdoaWNoIGNhc2VzIFBT VSBmaXJtd2FyZSB1cGRhdGUgc2hhbGwgYmUgZG9uZT8NCj4+IDEuIEl0IGlzIHVwZGF0ZWQgdG9n ZXRoZXIgd2l0aCBCTUMgZmlybXdhcmUgdXBkYXRlIGFzIGRlc2NyaWJlZCBieSANCj4+IFZlcm5v bg0KPj4gICAgTWF1ZXJ5Ow0KPj4gMi4gSXQgaXMgdXBkYXRlZCBpbmRlcGVuZGVudGx5IHdpdGgg QVBJcywgYXMgZGVzY3JpYmVkIGluIHRoaXMgZGVzaWduIA0KPj4gZG9jLg0KPj4gDQo+PiBXaWxs IDEgYW5kIDIgYm90aCBiZSB2YWxpZCwgb3Igb25seSAxIGlzIHRoZSByZWFsIGNhc2UgYW5kIHdl IGRvIG5vdCANCj4+IG5lZWQgdG8NCj4+IHN1cHBvcnQgMj8NCj4+IA0KPiANCj4gSSBzZWUgaXQg YXMgaGF2aW5nIGEgc2luZ2xlIHRhcmJhbGwgZmlsZSB0aGF0IGhhcyB0aGUgcmVxdWlyZWQgZmls ZXMgdG8gDQo+IHVwZGF0ZSB0aGUNCj4gQk1DIGFuZCB0aGUgUFNVLiBXaGVuIHRoaXMgdGFyYmFs bCBpcyB1cGxvYWRlZCwgdGhlbiBhIG5ldyBWZXJzaW9uIHdpdGggDQo+IGEgUHVycG9zZQ0KPiBv ZiBTeXN0ZW0gb3Igc29tZSBvdGhlciBuYW1lIGlzIGNyZWF0ZWQuIFdoZW4gdGhpcyBWZXJzaW9u IGlzIGFjdGl2YXRlZCwgDQo+IHRoaXMNCj4gdHJpZ2dlcnMgdGhlIEJNQyB1cGRhdGVyIChleGlz dGluZykgYW5kIHRoZSBQU1UgdXBkYXRlciAobmV3KSB0byBjaGVjayANCj4gaWYgYWxsDQo+IHRo ZSBuZWNlc3NhcnkgZmlsZXMgdG8gcGVyZm9ybSB0aGUgdXBkYXRlIG9mIHRoZWlyIGNvbXBvbmVu dCBleGlzdC4gSWYgDQo+IHllcywgZWFjaA0KPiB1cGRhdGVyIHVwZGF0ZXMgdGhlaXIgcGllY2Ug YW5kIGlmIGFueSBvbmUgZmFpbHMgaXQnZCBtYXJrIHRoZSBWZXJzaW9uIA0KPiBhcyBGYWlsZWQN Cj4gKFRCRCBvbiBzeW5jaHJvbml6aW5nIHRoZSB1cGRhdGVycyB0byBtYXJrIHRoZSBWZXJzaW9u IGFzIEFjdGl2ZSBvciANCj4gRmFpbGVkKS4NCj4gU28gdGhlIFBTVSB3b3VsZCBiZSB1cGRhdGVk IGF0IHRoZSBzYW1lIHRpbWUgYXMgdGhlIEJNQywgYnV0IGRvbmUgYnkgaXRzIA0KPiBvd24NCj4g dXBkYXRlciBhcHBsaWNhdGlvbi4NCj4gIA0KPiBUaG91Z2h0cz8NCj4NCg0KSSBoYXZlIGRpZmZl cmVudCBvcGluaW9uIGFib3V0IHRoaXMuIEluIGN1cnJlbnQgcHJhY3RpY2UgaXQncyBub3QgYSB0 YXJiYWxsIHdoaWNoIA0KY291bGQgYmUgZGVjb21wcmVzc2VkIGVhc2lseS4gVGhlIGVtYmVkZGVk IEJNQyB1cGRhdGUgaW1hZ2UgaXMgc2lnbmVkLiBQU1UNCmZpcm13YXJlIGlzIGEgcGFydCBvZiB0 aGUgcm9vdCBmaWxlc3lzdGVtIChhcyBhIGZpbGUpLiBJbiB0aGlzIGNhc2UgdGhlICB3aG9sZSB1 cGRhdGUgDQpmbG93IHdvdWxkIGxvb2sgbGlrZToNCjEuIFVwbG9hZCBhbmQgdXBkYXRlIHRoZSBC TUMgZmlybXdhcmUgaXRzZWxmLg0KMi4gQm9vdCB0byBuZXcgdmVyc2lvbiBvZiBCTUMgZmlybXdh cmUuDQozLiBCTUMgdG8gcmVhZCBQU1UgZmlybXdhcmUgdmVyc2lvbiBmcm9tIFBTVSwgYW5kIGNv bXBhcmUgd2l0aCB0aGUgZmlsZSBzaGlwcGVkDQogICAgd2l0aCB0aGlzIEJNQyBmaXJtd2FyZS4N CjQuIElmIHVwZGF0ZSBuZWVkZWQsIHVwZGF0ZSB0b29sIGNvdWxkIGJlIGxhdW5jaGVkLg0KDQpC ZW5lZml0IGZvciB0aGlzIGlzIHRoYXQgUFNVIGZpcm13YXJlIHVwZGF0ZSBwcm9jZXNzIGlzIHRy YW5zcGFyZW50IHRvIGVuZCB1c2VyLg0KDQpIb3cgZG8geW91IHRoaW5rPw0KDQpZdWFuIExpDQoN Cj4+IFRoZSByZWFzb24gSSBhc2sgaXMgYmVjYXVzZSBpZiB3ZSBjb3VsZCBnZXQgY2xlYXIgcmVx dWlyZW1lbnRzLCBpdCBpcyANCj4+IHBvc3NpYmxlDQo+PiB0byBzaW1wbGlmeSB0aGUgZGVzaWdu Lg0KDQoNCg== ------=_001_NextPart624106210581_=---- Content-Type: text/html; charset="ISO-8859-1" Content-Transfer-Encoding: quoted-printable =0A
>On 2019-06-05 = 22:31, Lei YU wrote:
=0A
>> On Wed, Jun 5, 2019 at 1= 0:25 PM Matt Spinler <mspinler@linux.ibm.com>
=0A
>>= wrote:
=0A
>>>
=0A
>>>
=0A>>> On 6/5/2019 1:18 AM, Lei YU wrote:=0A
>>>= >>> The PSU firmware code update will re-use the current interfa= ces to upload,
=0A
>>> >>> verify, and activate= the image.
=0A
>>> >> We would like the option to= be able to ship the PSU firmware as part of
=0A
>>> >= ;> the BMC image (in the root filesystem). This means that it is alread= y
=0A
>>> >> present and authenticated when the BM= C boots. In this way, we know that
=0A
>>> >> the = current BMC firmware plays well with the PSU firmware and have fewer
= =0A
>>> >> variables to test for when making a release.=
=0A
>>> > Because the PSU firmware is part of BMC im= age, this seems a completely
=0A
>>> > different appr= oach, and more like part of BMC image update, is it?
=0A
>>= > > I would expect this should not be part of this design, what do y= ou think?
=0A
>>>
=0A
>>> FYI, I am 9= 9% sure this is how IBM needs its systems to work as well.
=0A
&g= t;>> That being the case,
=0A
>>>
=0A
&g= t;>> will you also be handling this design?
=0A
>> =0A
>> Good to know.
=0A
>>
=0A
>= ;> Then a question comes up:
=0A
>> In which cases PSU f= irmware update shall be done?
=0A
>> 1. It is updated toget= her with BMC firmware update as described by
=0A
>> Vernon=
=0A
>>    Mauery;
=0A
>> 2. = It is updated independently with APIs, as described in this design
= =0A
>> doc.
=0A
>>
=0A
>> Will 1 = and 2 both be valid, or only 1 is the real case and we do not
=0A>> need to
=0A
>> support 2?
=0A
>> =
=0A
=0A
> I see it as having a single tar= ball file that has the required files to
=0A
> update the=0A
> BMC and the PSU. When this tarball is uploaded, then a new = Version with
=0A
> a Purpose
=0A
> of System or s= ome other name is created. When this Version is activated,
=0A
&= gt; this
=0A
> triggers the BMC updater (existing) and the PSU= updater (new) to check
=0A
> if all
=0A
> the ne= cessary files to perform the update of their component exist. If
=0A=
> yes, each
=0A
> updater updates their piece and if a= ny one fails it'd mark the Version
=0A
> as Failed
=0A> (TBD on synchronizing the updaters to mark the Version as Active o= r
=0A
> Failed).
=0A
> So the PSU would be update= d at the same time as the BMC, but done by its
=0A
> own=0A
> updater application.
=0A
>  
=0A
&= gt; Thoughts?
=0A
>

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 sign= ed. PSU
firmware is a part of the root filesystem (as a file). I= n this case the  whole update 
flow would look like:
1. Upload and update the BMC firmware itsel= f.
2. Boot to new version of BMC firmware.
3. BMC to r= ead 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 i= s that PSU firmware update process is transparent to end user.
<= br>
How do you think?

Yuan Li

=0A
>> The reason I ask is because if we could get cl= ear requirements, it is
=0A
>> possible
=0A
>&= gt; to simplify the design.
=0A


=0A=0A ------=_001_NextPart624106210581_=------