<html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><style>body { line-height: 1.5; }blockquote { margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em; }body { font-size: 10.5pt; font-family: 'Segoe UI'; color: rgb(0, 0, 0); line-height: 1.5; }</style></head><body>
<div><span></span></div><blockquote style="margin-Top: 0px; margin-Bottom: 0px; margin-Left: 0.5em"><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: transparent;">>On 2019-06-05 22:31, Lei YU wrote:</span></div>
<div>>> On Wed, Jun 5, 2019 at 10:25 PM Matt Spinler <mspinler@linux.ibm.com> </div>
<div>>> wrote:</div>
<div>>>> </div>
<div>>>> </div>
<div>>>> On 6/5/2019 1:18 AM, Lei YU wrote:</div>
<div>>>> >>> The PSU firmware code update will re-use the current interfaces to upload,</div>
<div>>>> >>> verify, and activate the image.</div>
<div>>>> >> We would like the option to be able to ship the PSU firmware as part of</div>
<div>>>> >> the BMC image (in the root filesystem). This means that it is already</div>
<div>>>> >> present and authenticated when the BMC boots. In this way, we know that</div>
<div>>>> >> the current BMC firmware plays well with the PSU firmware and have fewer</div>
<div>>>> >> variables to test for when making a release.</div>
<div>>>> > Because the PSU firmware is part of BMC image, this seems a completely</div>
<div>>>> > different approach, and more like part of BMC image update, is it?</div>
<div>>>> > I would expect this should not be part of this design, what do you think?</div>
<div>>>> </div>
<div>>>> FYI, I am 99% sure this is how IBM needs its systems to work as well.</div>
<div>>>> That being the case,</div>
<div>>>> </div>
<div>>>> will you also be handling this design?</div>
<div>>> </div>
<div>>> Good to know.</div>
<div>>> </div>
<div>>> Then a question comes up:</div>
<div>>> In which cases PSU firmware update shall be done?</div>
<div>>> 1. It is updated together with BMC firmware update as described by </div>
<div>>> Vernon</div>
<div>>> Mauery;</div>
<div>>> 2. It is updated independently with APIs, as described in this design </div>
<div>>> doc.</div>
<div>>> </div>
<div>>> Will 1 and 2 both be valid, or only 1 is the real case and we do not </div>
<div>>> need to</div>
<div>>> support 2?</div>
<div>>> </div>
<div>> </div>
<div>> I see it as having a single tarball file that has the required files to </div>
<div>> update the</div>
<div>> BMC and the PSU. When this tarball is uploaded, then a new Version with </div>
<div>> a Purpose</div>
<div>> of System or some other name is created. When this Version is activated, </div>
<div>> this</div>
<div>> triggers the BMC updater (existing) and the PSU updater (new) to check </div>
<div>> if all</div>
<div>> the necessary files to perform the update of their component exist. If </div>
<div>> yes, each</div>
<div>> updater updates their piece and if any one fails it'd mark the Version </div>
<div>> as Failed</div>
<div>> (TBD on synchronizing the updaters to mark the Version as Active or </div>
<div>> Failed).</div>
<div>> So the PSU would be updated at the same time as the BMC, but done by its </div>
<div>> own</div>
<div>> updater application.</div>
<div>> </div>
<div>> Thoughts?</div>
<div>></div><div><br></div><div>I have different opinion about this. In current practice it's not a tarball which </div><div>could be decompressed easily. The embedded BMC update image is signed. PSU</div><div>firmware is a part of the root filesystem (as a file). In this case the whole update </div><div>flow would <span style="font-size: 10.5pt; line-height: 1.5; background-color: transparent;">look like:</span></div><div>1. Upload and update the BMC firmware itself.</div><div>2. Boot to new version of BMC firmware.</div><div>3. BMC to read PSU firmware version from PSU, and compare with the file shipped</div><div> with this BMC firmware.</div><div>4. If update needed, update tool could be launched.</div><div><br></div><div>Benefit for this is that PSU firmware update process is transparent to end user.</div><div><br></div><div>How do you think?</div><div><br></div><div>Yuan Li</div><div><br></div>
<div>>> The reason I ask is because if we could get clear requirements, it is </div>
<div>>> possible</div>
<div>>> to simplify the design.</div>
<div><br></div><div><br></div>
</blockquote>
</body></html>