<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 26, 2019 at 7:44 AM Patrick Venture <<a href="mailto:venture@google.com">venture@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 26, 2019 at 4:28 AM Andrew MS1 Peng <<a href="mailto:pengms1@lenovo.com" target="_blank">pengms1@lenovo.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="ZH-CN">
<div class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">Hi Patrick,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black">I have some questions as below, could you help to clarify. Thanks.<u></u><u></u></span></p>
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt">
<u></u><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black"><span>1.<span style="font:7pt "Times New Roman"">
</span></span></span><u></u><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black">Do you have any plans to support BIOS update in phosphor-ipmi-flash?<u></u><u></u></span></p>
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt;text-indent:0cm"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black">If the answer is no, we would like to help to add this feature. Could
you give us some advice or clues to implement it.</span></p></div></div></blockquote><div><br></div><div>This could be added to the design (first step).</div><div>I could probably roll out this in a day or two, it's not a difficult extension with a few caveats. We'd have to define new services, such as update_bios.service instead of update_bmc.service.</div><div><br></div><div>I have some cycles, so I don't mind reviewing the changes required and rolling something out -- </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="ZH-CN"><div class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122WordSection1"><p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt;text-indent:0cm"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black"><u></u><u></u></span></p>
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt">
<u></u><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black"><span>2.<span style="font:7pt "Times New Roman"">
</span></span></span><u></u><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black">The FPGA rom image is embedded in BMC image, we would like to add fpga-update.service and fpga-verify.service
in phosphor-ipmi-flash, we expect that run both services after update BMC image completely. Do you have any concerns about it?</span></p></div></div></blockquote><div><br></div><div>There are a couple things to unpack here. The FPGA rom is embedded in the BMC image. How is the BMC updated? I ask because a machine can (and is expected to) provide its own update_bmc.service implementation. This service could trigger the fpga-verify and fpga-update services within whatever code is called from the update_bmc service you specify.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="ZH-CN"><div class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122WordSection1"><p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black"><u></u><u></u></span></p>
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt">
<u></u><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black"><span>3.<span style="font:7pt "Times New Roman"">
</span></span></span><u></u><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black">How can I make a static executable host tool (burn_my_bmc)? Currently, I can’t to make a
</span><em><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black;background:white;font-style:normal">statically linked binary successfully</span></em><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black">,
but I have made it before you added p2a function.</span></p></div></div></blockquote><div>For the host tool you need to specify very little, you should be able to build it via:</div><div>./bootstrap.sh<br></div><div>./configure</div><div>./make</div><div><br></div><div>You will need to checkout and install ipmi-blob-tool first (openbmc/ipmi-blob-tool)</div><div><br></div><div><br></div><div>^^ --- those steps should go on the README. Will add them shortly.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="ZH-CN"><div class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122WordSection1"><p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black"> <u></u><u></u></span></p>
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt;text-indent:0cm"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black">Based on different OS
</span><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">environment as below,
<span style="color:black">I would like to have a static executable since </span></span><em><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black;background:white;font-style:normal">dynamically linked binary can’t work normally
in host OS.</span></em><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif;color:black"><u></u><u></u></span></p>
<table class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoTableGrid" border="1" cellspacing="0" cellpadding="0" style="margin-left:18pt;border-collapse:collapse;border:none">
<tbody>
<tr>
<td width="288" valign="top" style="width:215.75pt;border:1pt solid windowtext;padding:0cm 5.4pt">
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="text-indent:0cm"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">Host OS environment<u></u><u></u></span></p>
</td>
<td width="288" valign="top" style="width:215.75pt;border-top:1pt solid windowtext;border-right:1pt solid windowtext;border-bottom:1pt solid windowtext;border-left:none;padding:0cm 5.4pt">
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="text-indent:0cm"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">Build environment (OpenBmc)<u></u><u></u></span></p>
</td>
</tr>
<tr>
<td width="288" valign="top" style="width:215.75pt;border-right:1pt solid windowtext;border-bottom:1pt solid windowtext;border-left:1pt solid windowtext;border-top:none;padding:0cm 5.4pt">
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="text-indent:0cm"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">Gcc v4.8.5<u></u><u></u></span></p>
</td>
<td width="288" valign="top" style="width:215.75pt;border-top:none;border-left:none;border-bottom:1pt solid windowtext;border-right:1pt solid windowtext;padding:0cm 5.4pt">
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="text-indent:0cm"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">Gcc v8.3.0<u></u><u></u></span></p>
</td>
</tr>
<tr>
<td width="288" valign="top" style="width:215.75pt;border-right:1pt solid windowtext;border-bottom:1pt solid windowtext;border-left:1pt solid windowtext;border-top:none;padding:0cm 5.4pt">
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="text-indent:0cm"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">Glibc v2.17<u></u><u></u></span></p>
</td>
<td width="288" valign="top" style="width:215.75pt;border-top:none;border-left:none;border-bottom:1pt solid windowtext;border-right:1pt solid windowtext;padding:0cm 5.4pt">
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="text-indent:0cm"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">Glibc v2.29<u></u><u></u></span></p>
</td>
</tr>
</tbody>
</table></div></div></blockquote><div><br></div><div>The bitbake recipe isn't meant to be used for the host tool. It explicitly disables building the host-tool by default. You should be able to check out the repo and build from there. Let me know if you run into issues with that.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="ZH-CN"><div class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122WordSection1">
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt">
<u></u><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif"><span>4.<span style="font:7pt "Times New Roman"">
</span></span></span><u></u><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">I didn’t find the below service files in source tree, where can find default services or should we provide our own services?
<u></u><u></u></span></p>
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt;text-indent:0cm"><code><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">update_bmc.service</span></code><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif"><br>
<code><span style="font-family:Calibri,sans-serif">verify_image.service</span></code></span><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p>
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt;text-indent:0cm"><code><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">prepare_update.service</span></code></p></div></div></blockquote><div><br></div><div>That's correct. There are currently no default service files. I am thinking of providing a default prepare_update service in a later CL, however updating the BMC or verifying the image depend entirely on the system -- which makes it difficult to have a default. In point of fact, there isn't really a valid default phosphor-ipmi-flash build for a BMC. Everything needs to be specified.</div><div><br></div><div>^--- I can work on making the ubi bmc option available if the ubi distro feature is enabled, etc -- providing some defaults.</div><div>^--- I have a plan to provide a prepare_update.service once I finish testing Aspeed LPC support.</div><div> </div></div></div></blockquote><div><br></div><div>I've been reviewing the build process for the host-tool and the configure file and other pieces require the BMC-stuff to be installed first (sdbusplus, etc). I'm going to cleanup the configure file so that if you're building the host-tool it doesn't try to build the BMC stuff. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="ZH-CN"><div class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122WordSection1"><p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt;text-indent:0cm"><code><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif"><u></u><u></u></span></code></p>
<p class="gmail-m_-6091798217660211465gmail-m_-7106965077525685122MsoListParagraph" style="margin-left:18pt;text-indent:0cm"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:12pt;font-family:Calibri,sans-serif">Regards,<br>
Andrew<u></u><u></u></span></p>
</div>
</div>
</blockquote></div></div>
</blockquote></div></div>