<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:PMingLiU;
panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:等线;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"\@等线";
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@PMingLiU";
panose-1:2 1 6 1 0 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:宋体;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
code
{mso-style-priority:99;
font-family:宋体;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:宋体;}
p.gmail-m-8411625341099404742msolistparagraph, li.gmail-m-8411625341099404742msolistparagraph, div.gmail-m-8411625341099404742msolistparagraph
{mso-style-name:gmail-m_-8411625341099404742msolistparagraph;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:宋体;}
p.gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph, li.gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph, div.gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph
{mso-style-name:gmail-m_-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:宋体;}
span.EmailStyle22
{mso-style-type:personal;
font-family:等线;
color:#1F497D;}
span.EmailStyle23
{mso-style-type:personal-compose;
font-family:等线;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:等线;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="ZH-CN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Hi Patrick,<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Following your instructions to build SDK environment, the host tool has been compiled successfully. I really
appreciate your help.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;mso-fareast-language:ZH-TW">Regards,<br>
Andrew<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:等线">发件人<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:11.0pt;font-family:等线"> Patrick Venture <venture@google.com>
<br>
</span><b><span style="font-size:11.0pt;font-family:等线">发送时间<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:11.0pt;font-family:等线"> 2019</span><span style="font-size:11.0pt;font-family:等线">年<span lang="EN-US">7</span>月<span lang="EN-US">4</span>日<span lang="EN-US">
21:59<br>
</span><b>收件人<span lang="EN-US">:</span></b><span lang="EN-US"> Andrew MS1 Peng <pengms1@lenovo.com><br>
</span><b>抄送<span lang="EN-US">:</span></b><span lang="EN-US"> Duke KH Du <dukh@lenovo.com>; benjaminfair@google.com; OpenBMC Maillist <openbmc@lists.ozlabs.org><br>
</span><b>主题<span lang="EN-US">:</span></b><span lang="EN-US"> Re: [External] Re: Clarify some questions about in-band firmware update<o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">On Thu, Jul 4, 2019 at 5:19 AM Andrew MS1 Peng <<a href="mailto:pengms1@lenovo.com">pengms1@lenovo.com</a>> wrote:<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Hi Patrick,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">I refer to
<a href="https://github.com/openbmc/docs/blob/master/development/dev-environment.md#download-and-install-sdk" target="_blank">
<span style="color:black">https://github.com/openbmc/docs/blob/master/development/dev-environment.md#download-and-install-sdk</span></a> to set up my OpenBmc SDK environment, but it seems to be different from yours since your SDK environment has
</span><span lang="EN-US" style="font-family:"Calibri",sans-serif">packagegroup-core-standalone-sdk-target.bbappend file<span style="color:black">. I would like to build your SDK environment to test, could you give me some clue or guideline to set up the environment?</span></span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">The file to which you're referring is not special to my environment and it's part of openbmc. I added ipmi-blob-tool to it so that I wouldn't have to build it ahead of building burn_my_bmc. I provided the patch in my
email so you could make the same change.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">I didn't follow those instructions because I don't know when the last build was of the SDK that's published there. But you can build it yourself trivially:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">$ git clone <a href="https://github.com/openbmc/openbmc.git">https://github.com/openbmc/openbmc.git</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">$ pushd openbmc<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">### apply the patch or change I mentioned<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">$ TEMPLATECONF=meta-phosphor/conf source oe-init-build-env<br>
$ umask a+rx,u+rwx<br>
$ MACHINE=qemux86-64 bitbake obmc-phosphor-image -c populate_sdk<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">### wait while it builds everything<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">$ SDK_DIR=/opt/openbmc-phosphor/2.7.0<br>
$ sudo ./tmp/deploy/sdk/<a href="http://oecore-x86_64-core2-64-toolchain-nodistro.0.sh">oecore-x86_64-core2-64-toolchain-nodistro.0.sh</a> -d $SDK_DIR<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">### let it install the SDK<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">$ source $SDK_DIR/environment-setup-core2-64-openbmc-linux<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">$ git clone <a href="https://github.com/openbmc/phosphor-ipmi-flash">https://github.com/openbmc/phosphor-ipmi-flash</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">$ pushd phosphor-ipmi-flash<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">$ export OECORE_TARGET_SYSROOT=$SDK_DIR/sysroots/core2-64-openbmc-linux<br>
$ autoreconf -if<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">$ ./configure --enable-oe-sdk --host "$(uname -m)" --disable-build-bmc-blob-handler AR=x86_64-openbmc-linux-gcc-ar RANLIB=x86_64-openbmc-linux-gcc-ranlib<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">### and it's built<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">$ popd<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">$ popd<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Like I said though, you don't need to use the SDK at all to build it. You can just build it on your development workstation following the instructions in the README and it'll take a lot less time.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="gmail-m-8411625341099404742msolistparagraph" style="margin-left:21.0pt">
<span lang="EN-US" style="font-family:Wingdings;color:black">l</span><span lang="EN-US" style="font-size:7.0pt;font-family:"Times New Roman",serif;color:black">
</span><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">My SDK environment setup procedure</span></b><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-indent:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">## Fetch the OpenBmc x86-64 toolchain
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">1. wget
<a href="https://openpower.xyz/job/openbmc-build-sdk/distro=ubuntu,target=qemux86-64/lastSuccessfulBuild/artifact/deploy/sdk/oecore-x86_64-core2-64-toolchain-nodistro.0.sh" target="_blank">
https://openpower.xyz/job/openbmc-build-sdk/distro=ubuntu,target=qemux86-64/lastSuccessfulBuild/artifact/deploy/sdk/oecore-x86_64-core2-64-toolchain-nodistro.0.sh</a></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">## install toolchain</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">2. run ./<a href="http://oecore-x86_64-core2-64-toolchain-nodistro.0.sh" target="_blank">oecore-x86_64-core2-64-toolchain-nodistro.0.sh</a>
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">## run source env</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">3. source ~/SDK/oecore-x86_64/environment-setup-core2-64-openbmc-linux</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">## Fetch source code then compile ipmi-blob-tool and phosphor-ipmi-flash
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">4.1 git clone
<a href="https://github.com/openbmc/ipmi-blob-tool" target="_blank">https://github.com/openbmc/ipmi-blob-tool</a></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> 4.1.1 cd ipmi-blob-tool</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> 4.1.2 ./bootstrap.sh</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> 4.1.3 ./configure --prefix=/home/pengms1/SDK/OpenBmc/rootfs --build=x86_64-linux --host=x86_64-openbmc-linux -with-libtool-sysroot=/home/pengms1/SDK/oecore-x86_64/sysroots/core2-64-openbmc-linux/
-enable-shared --enable-static </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> 4.1.4 make && make install</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">4.2 git clone
<a href="https://github.com/openbmc/phosphor-ipmi-flash" target="_blank">https://github.com/openbmc/phosphor-ipmi-flash</a></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> 4.2.1 cd phosphor-ipmi-flash</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> 4.2.2 ./bootstrap.sh</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> 4.2.3 export PKG_CONFIG_PATH="/home/pengms1/SDK/oecore-x86_64/sysroots/core2-64-openbmc-linux/usr/lib/pkgconfig:/home/pengms1/SDK/oecore-x86_64/sysroots/core2-64-openbmc-linux/usr/share/pkgconfig:/home/pengms1/SDK/OpenBmc/rootfs/lib/pkgconfig"</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> 4.2.4 ./configure --prefix=/home/pengms1/SDK/OpenBmc/rootfs --build=x86_64-linux --host=x86_64-openbmc-linux -with-libtool-sysroot=/home/pengms1/SDK/oecore-x86_64/sysroots/core2-64-openbmc-linux/
--disable-build-bmc-blob-handler</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver"> 4.2.5 make CPPFLAGS="-I /home/pengms1/SDK/OpenBmc/rootfs/include/" LDFLAGS="-L/home/pengms1/SDK/OpenBmc/rootfs/lib -lipmiblob"</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="gmail-m-8411625341099404742msolistparagraph" style="margin-left:21.0pt">
<span lang="EN-US" style="font-family:Wingdings;color:black">l</span><span lang="EN-US" style="font-size:7.0pt;font-family:"Times New Roman",serif;color:black">
</span><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Compile status</span></b><span lang="EN-US"><o:p></o:p></span></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" style="margin-left:21.0pt;border-collapse:collapse">
<tbody>
<tr>
<td width="334" valign="top" style="width:250.55pt;border:solid windowtext 1.0pt;background:yellow;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742msolistparagraph"><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Source code hash id</span></b><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="167" valign="top" style="width:124.95pt;border:solid windowtext 1.0pt;border-left:none;background:yellow;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742msolistparagraph"><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Compile Status</span></b><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="167" valign="top" style="width:124.95pt;border:solid windowtext 1.0pt;border-left:none;background:yellow;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742msolistparagraph"><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Attached file
</span></b><span lang="EN-US"><o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="334" valign="top" style="width:250.55pt;border:solid windowtext 1.0pt;border-top:none;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742msolistparagraph"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">c37fe1e938238a10520ff6d120ccf5194ff60fa2</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="167" valign="top" style="width:124.95pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742msolistparagraph"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Compile successful</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="167" valign="top" style="width:124.95pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742msolistparagraph"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">successful.log</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="334" valign="top" style="width:250.55pt;border:solid windowtext 1.0pt;border-top:none;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742msolistparagraph"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">33311b47b3b656cfc16568b4b971730cb79130bc</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="167" valign="top" style="width:124.95pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742msolistparagraph"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Compile failed</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="167" valign="top" style="width:124.95pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742msolistparagraph"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">failed.log</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="gmail-m-8411625341099404742msolistparagraph" style="margin-left:21.0pt">
<b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black"> </span></b><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Regards,<br>
Andrew</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:11.0pt;font-family:等线">发件人<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:11.0pt;font-family:等线"> Patrick Venture <<a href="mailto:venture@google.com" target="_blank">venture@google.com</a>>
<br>
</span><b><span style="font-size:11.0pt;font-family:等线">发送时间<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:11.0pt;font-family:等线"> 2019</span><span style="font-size:11.0pt;font-family:等线">年<span lang="EN-US">7</span>月<span lang="EN-US">4</span>日<span lang="EN-US">
1:04<br>
</span><b>收件人<span lang="EN-US">:</span></b><span lang="EN-US"> Andrew MS1 Peng <<a href="mailto:pengms1@lenovo.com" target="_blank">pengms1@lenovo.com</a>><br>
</span><b>抄送<span lang="EN-US">:</span></b><span lang="EN-US"> Duke KH Du <<a href="mailto:dukh@lenovo.com" target="_blank">dukh@lenovo.com</a>>;
<a href="mailto:benjaminfair@google.com" target="_blank">benjaminfair@google.com</a>; OpenBMC Maillist <<a href="mailto:openbmc@lists.ozlabs.org" target="_blank">openbmc@lists.ozlabs.org</a>><br>
</span><b>主题<span lang="EN-US">:</span></b><span lang="EN-US"> Re: [External] Re: Clarify some questions about in-band firmware update</span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">On Wed, Jul 3, 2019 at 7:47 AM Patrick Venture <<a href="mailto:venture@google.com" target="_blank">venture@google.com</a>> wrote:<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">On Wed, Jul 3, 2019 at 7:13 AM Patrick Venture <<a href="mailto:venture@google.com" target="_blank">venture@google.com</a>> wrote:<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">On Wed, Jul 3, 2019 at 4:51 AM Andrew MS1 Peng <<a href="mailto:pengms1@lenovo.com" target="_blank">pengms1@lenovo.com</a>> wrote:<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:#0070C0">Hi Patrick,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:#0070C0"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:#0070C0">Could you help to take a look compile issue as below? I can compile host tool with hash id
<span style="background:white">c37fe1e938238a10520ff6d120ccf5194ff60fa2 successfully, but fail to compile with hash id c37fe1e938238a10520ff6d120ccf5194ff60fa2 or later. Thanks.</span><br>
<br>
</span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/real-ld: burn_my_bmc-main.o: in function
`host_tool::DevMemDevice::DevMemDevice(internal::Sys const*)':</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools/io.hpp:46: undefined reference to `internal::sys_impl'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/real-ld:
burn_my_bmc-main.o: in function `host_tool::BtDataHandler::BtDataHandler(ipmiblob::BlobInterface*, internal::Sys const*)':</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools/bt.hpp:17: undefined reference to `internal::sys_impl'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/real-ld:
burn_my_bmc-main.o: in function `host_tool::LpcDataHandler::LpcDataHandler(ipmiblob::BlobInterface*, host_tool::HostIoInterface*, unsigned int, unsigned int, internal::Sys const*)':</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools/lpc.hpp:28: undefined reference to
`internal::sys_impl'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/real-ld:
burn_my_bmc-main.o: in function `host_tool::P2aDataHandler::P2aDataHandler(ipmiblob::BlobInterface*, host_tool::HostIoInterface*, host_tool::PciUtilInterface*, internal::Sys const*)':</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools/p2a.hpp:28: undefined reference to
`internal::sys_impl'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/real-ld:
./.libs/libupdater.a(libupdater_la-updater.o): in function `host_tool::updaterMain(host_tool::UpdateHandlerInterface*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools/updater.cpp:42: undefined reference
to `ipmi_flash::staticLayoutBlobId[abi:cxx11]'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/real-ld:
/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools/updater.cpp:42: undefined reference to `ipmi_flash::ubiTarballBlobId[abi:cxx11]'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/real-ld:
/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools/updater.cpp:59: undefined reference to `ipmi_flash::hashBlobId[abi:cxx11]'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/real-ld:
/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools/updater.cpp:64: undefined reference to `ipmi_flash::verifyBlobId[abi:cxx11]'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/real-ld:
/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools/updater.cpp:76: undefined reference to `ipmi_flash::updateBlobId[abi:cxx11]'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/real-ld:
./.libs/libupdater.a(libupdater_la-handler.o): in function `host_tool::UpdateHandler::cleanArtifacts()':</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools/handler.cpp:167: undefined reference
to `ipmi_flash::cleanupBlobId[abi:cxx11]'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">collect2: error: ld returned 1 exit status</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">Makefile:500: recipe for target 'burn_my_bmc' failed</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">make[3]: *** [burn_my_bmc] Error 1</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">make[3]: Leaving directory '/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">Makefile:632: recipe for target 'all-recursive' failed</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">make[2]: *** [all-recursive] Error 1</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">make[2]: Leaving directory '/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash/tools'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">Makefile:611: recipe for target 'all-recursive' failed</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">make[1]: *** [all-recursive] Error 1</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">make[1]: Leaving directory '/home/pengms1/SDK/OpenBmc/phosphor-ipmi-flash'</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">Makefile:463: recipe for target 'all' failed</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">make: *** [all] Error 2</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Since that builds for me, I need to see how you're building it, not just the failure output. How are you configuring it to build? What changes have you made
to the recipe?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">I assume you meant you can build at that revision but not after. The patchset after actually fixes it so it'll build properly given the instructions specified
in the README. There's a common base library used to store the common strings, etc, which are what you're seeing missing in the output. Basically, I'd need to see more output, the commands that are running before the errors.<o:p></o:p></span></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">I'm building the SDK presently to see if I can reproduce in that environment. If you don't need to build in that environment, you can build this without it.
The steps on the README were written while building it in a ubuntu docker instance that had nothing installed (then installed git, gcc, etc).<o:p></o:p></span></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Firstly, I ran into the issue where ipmi-blob-tool isn't installed into the sdk by default:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">--- a/meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend<br>
+++ b/meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend<br>
@@ -1 +1 @@<br>
-RRECOMMENDS_${PN}_append = " gtest sdbusplus phosphor-logging libstdc++-staticdev"<br>
+RRECOMMENDS_${PN}_append = " gtest sdbusplus phosphor-logging libstdc++-staticdev ipmi-blob-tool"<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Then.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">I'm seeing this, which is likely the cause of the problem.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">x86_64-openbmc-linux-ar: .libs/libupdater.lax/libfirmware_common.a/libfirmware_common_la-sys.o: plugin needed to handle lto object<br>
x86_64-openbmc-linux-ar: .libs/libupdater.lax/libfirmware_common.a/libfirmware_common_la-util.o: plugin needed to handle lto object<br>
x86_64-openbmc-linux-ranlib: .libs/libupdater.a(libfirmware_common_la-sys.o): plugin needed to handle lto object<br>
x86_64-openbmc-linux-ranlib: .libs/libupdater.a(libfirmware_common_la-util.o): plugin needed to handle lto object<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">I don't see this issue when building within other instances, bitbake, or docker ubuntu.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"><a href="https://github.com/openbmc/meta-phosphor/blob/master/classes/flto-automake.bbclass" target="_blank">https://github.com/openbmc/meta-phosphor/blob/master/classes/flto-automake.bbclass</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">This defines what should be used with flto in these cases... (our bitbake recipes don't' use this consistently).<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">$ ./configure --enable-oe-sdk --host "$(uname -m)" --disable-build-bmc-blob-handler<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">...<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">checking for x86_64-ar... (cached) x86_64-openbmc-linux-ar<br>
checking for archiver @FILE support... @<br>
checking for x86_64-strip... (cached) x86_64-openbmc-linux-strip<br>
checking for x86_64-ranlib... x86_64-openbmc-linux-ranlib<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">So it looks like it isn't checking for the gcc-ar and gcc-ranlib by default (no surprise).<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">I ran this:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">$ make clean; make distclean;<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">$ ./configure --enable-oe-sdk --host "$(uname -m)" --disable-build-bmc-blob-handler AR=x86_64-openbmc-linux-gcc-ar RANLIB=x86_64-openbmc-linux-gcc-ranlib<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">...<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">checking for x86_64-ar... (cached) x86_64-openbmc-linux-gcc-ar<br>
checking for archiver @FILE support... @<br>
checking for x86_64-strip... (cached) x86_64-openbmc-linux-strip<br>
checking for x86_64-ranlib... x86_64-openbmc-linux-gcc-ranlib<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">...<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">$ make<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">...<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">make[3]: Entering directory '/usr/local/google/git/workspaces/phosphor-ipmi-flash/tools'<br>
CXX burn_my_bmc-main.o<br>
CXX libupdater_la-updater.lo<br>
CXX libupdater_la-handler.lo<br>
CXX libupdater_la-helper.lo<br>
CXX libupdater_la-bt.lo<br>
CXX libupdater_la-lpc.lo<br>
CXX libupdater_la-io.lo<br>
CXX libupdater_la-pci.lo<br>
CXX libupdater_la-p2a.lo<br>
CXX libupdater_la-progress.lo<br>
CXXLD <a href="http://libupdater.la" target="_blank">libupdater.la</a><br>
/opt/openbmc-phosphor/2.7.0/sysroots/x86_64-oesdk-linux/usr/bin/x86_64-openbmc-linux/../../libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/ar: `u' modifier ignored since `D' is the default (see `U')<br>
CXXLD burn_my_bmc<br>
make[3]: Leaving directory '/usr/local/google/git/workspaces/phosphor-ipmi-flash/tools'<br>
Making all in test<br>
make[3]: Entering directory '/usr/local/google/git/workspaces/phosphor-ipmi-flash/tools/test'<br>
make[3]: Nothing to be done for 'all'.<br>
make[3]: Leaving directory '/usr/local/google/git/workspaces/phosphor-ipmi-flash/tools/test'<br>
make[2]: Leaving directory '/usr/local/google/git/workspaces/phosphor-ipmi-flash/tools'<br>
make[1]: Leaving directory '/usr/local/google/git/workspaces/phosphor-ipmi-flash'<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">....<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">This worked fine.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">1) I should switch to flto-automake in the recipe<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">2) I can write up a section on compiling this against the SDK.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">3) I should push for use of flto-automake in other recipes**until there's an upstream change to support this automatically (maybe there is***separate email thread)):<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">grep -rn "\-flto" ./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-*|grep Makefile.am<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0+gitAUTOINC+1f0e2ce6e1-r1/git/Makefile.am:9:libphosphor_dbus_la_CXXFLAGS = $(SYSTEMD_CFLAGS) $(SDBUSPLUS_CFLAGS) -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-fan/1.0+gitAUTOINC+d9a580aa50-r1/git/presence/Makefile.am:28: -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-fan/1.0+gitAUTOINC+d9a580aa50-r1/git/control/Makefile.am:30: -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-fan/1.0+gitAUTOINC+d9a580aa50-r1/git/monitor/Makefile.am:31: -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-fan/1.0+gitAUTOINC+d9a580aa50-r1/git/cooling-type/Makefile.am:17: -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-inventory-manager/1.0+gitAUTOINC+ded627c42f-r1/git/Makefile.am:13:phosphor_inventory_CXXFLAGS = $(SDBUSPLUS_CFLAGS) -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+gitAUTOINC+2a5d8d1ffe-r1/git/user_channel/Makefile.am:2: -flto \<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+gitAUTOINC+2a5d8d1ffe-r1/git/libipmid/Makefile.am:2: -flto \<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+gitAUTOINC+2a5d8d1ffe-r1/git/Makefile.am:38: -flto \<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+gitAUTOINC+2a5d8d1ffe-r1/git/test/Makefile.am:2: -flto \<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-ipmi-net/1.0+gitAUTOINC+052b7cf374-r1/git/Makefile.am:76: -flto \<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-logging/1.0+gitAUTOINC+0a0b5ea558-r1/git/phosphor-rsyslog-config/Makefile.am:23: -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-network/1.0+gitAUTOINC+7bcaccfdae-r1/git/Makefile.am:45:ncsi_netlink_CXXFLAGS = -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-network/1.0+gitAUTOINC+7bcaccfdae-r1/git/Makefile.am:98: -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-software-manager/1.0+gitAUTOINC+a013560f96-r1/git/Makefile.am:101: -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-time-manager/1.0+gitAUTOINC+66bc0a5a9f-r1/git/Makefile.am:24: -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-time-manager/1.0+gitAUTOINC+66bc0a5a9f-r1/git/test/Makefile.am:24: $(SDBUSPLUS_CFLAGS) -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-user-manager/1.0+gitAUTOINC+75b5a6fc4c-r1/git/phosphor-ldap-config/Makefile.am:26: -flto<br>
./build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-user-manager/1.0+gitAUTOINC+75b5a6fc4c-r1/git/phosphor-ldap-mapper/Makefile.am:21: -flto<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:#0070C0">Regards,<br>
Andrew</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:11.0pt;font-family:等线">发件人<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:11.0pt;font-family:等线"> Patrick Venture <<a href="mailto:venture@google.com" target="_blank">venture@google.com</a>>
<br>
</span><b><span style="font-size:11.0pt;font-family:等线">发送时间<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:11.0pt;font-family:等线"> 2019</span><span style="font-size:11.0pt;font-family:等线">年<span lang="EN-US">6</span>月<span lang="EN-US">29</span>日<span lang="EN-US">
6:24<br>
</span><b>收件人<span lang="EN-US">:</span></b><span lang="EN-US"> Andrew MS1 Peng <<a href="mailto:pengms1@lenovo.com" target="_blank">pengms1@lenovo.com</a>><br>
</span><b>抄送<span lang="EN-US">:</span></b><span lang="EN-US"> OpenBMC Maillist <<a href="mailto:openbmc@lists.ozlabs.org" target="_blank">openbmc@lists.ozlabs.org</a>>; Duke KH Du <<a href="mailto:dukh@lenovo.com" target="_blank">dukh@lenovo.com</a>>;
<a href="mailto:benjaminfair@google.com" target="_blank">benjaminfair@google.com</a>; Adriana Kobylak <<a href="mailto:anoo@us.ibm.com" target="_blank">anoo@us.ibm.com</a>><br>
</span><b>主题<span lang="EN-US">:</span></b><span lang="EN-US"> Re: [External] Re: Clarify some questions about in-band firmware update</span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">On Fri, Jun 28, 2019 at 7:09 AM Patrick Venture <<a href="mailto:venture@google.com" target="_blank">venture@google.com</a>> wrote:<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">On Fri, Jun 28, 2019 at 4:30 AM Andrew MS1 Peng <<a href="mailto:pengms1@lenovo.com" target="_blank">pengms1@lenovo.com</a>> wrote:<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Hi Patrick,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black"><br>
I synchronized our Openbmc <span style="background:white">repository </span>with <em>
<span style="font-family:"Calibri",sans-serif;background:white;font-style:normal">upstream</span></em><span style="background:white"> repository then compiled and checked the result yesterday, we can generate
<em><span style="font-family:"Calibri",sans-serif;font-style:normal">dynamically linked binary but still failed to generate statically linked binary.
</span></em></span></span><span lang="EN-US" style="font-family:"Calibri",sans-serif">I used
<em><span style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">OpenBmc
</span></em>environment to compile and also created a SDK environment by using x86-64 toolchain (</span><span lang="EN-US"><a href="http://oecore-x86_64-core2-64-toolchain-nodistro.0.sh" target="_blank"><span style="font-family:"Calibri",sans-serif">oecore-x86_64-core2-64-toolchain-nodistro.0.sh</span></a></span><span lang="EN-US" style="font-family:"Calibri",sans-serif">)
to compile, the compile result is the same. <em><span style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">It seems to the linker not find the
</span></em><span style="letter-spacing:-.05pt;background:white">archive file libpci.a,
</span><em><span style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">could you take a look my problem? Thanks.</span></em></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal"> </span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">I will get error message when I run the tool in my host platform as
below. The dynamically linked binary is not convenience to use since I have to modify
</span></em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:#242729;background:white">rpath and interpreter of already compiled ELF.
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">pengms1@hsbmc: $ ./burn_my_bmc
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:12.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver">-bash: ./burn_my_bmc: No such file or directory<br>
<br>
pengms1@hsbmc: $ ldd ./burn_my_bmc<br>
<em><span style="font-family:"Calibri",sans-serif;font-style:normal">./burn_my_bmc: /lib/x86_64-linux-gnu/libpci.so.3: version `LIBPCI_3.5' not found (required by ./burn_my_bmc)</span></em></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> linux-vdso.so.1 => (0x00007ffcd2363000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> libipmiblob.so.0 => /home/pengms1/SDK/OpenBmc/rootfs/lib/libipmiblob.so.0
(0x00007f25d373a000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> libpci.so.3 => /lib/x86_64-linux-gnu/libpci.so.3 (0x00007f25d3512000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007f25d3190000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f25d2f79000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f25d2baf000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f25d28a6000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f25d268b000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f25d2470000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f25d2450000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x000055731193b000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f25d2247000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;font-style:normal"> libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f25d202a000)</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:宋体;color:black;background:white;font-style:normal"> </span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span lang="EN-US" style="font-family:"Calibri",sans-serif">The compile error message is below:</span></b><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">x86_64-openbmc-linux-libtool: link: x86_64-openbmc-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/home/pengms1/openbmc_trunk_x86/build/tmp/work/core2-64-openbmc-linux/phosphor-ipmi-flash/0.1+gitAUTOINC+7c79b252c1-r1/recipe-sysroot
-std=c++17 -I../../git -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/pengms1/openbmc_trunk_x86/build/tmp/work/core2-64-openbmc-linux/phosphor-ipmi-flash/0.1+gitAUTOINC+7c79b252c1-r1=/usr/src/debug/phosphor-ipmi-flash/0.1+gitAUTOINC+7c79b252c1-r1
-fdebug-prefix-map=/home/pengms1/openbmc_trunk_x86/build/tmp/work/core2-64-openbmc-linux/phosphor-ipmi-flash/0.1+gitAUTOINC+7c79b252c1-r1=/usr/src/debug/phosphor-ipmi-flash/0.1+gitAUTOINC+7c79b252c1-r1 -fdebug-prefix-map=/home/pengms1/openbmc_trunk_x86/build/tmp/work/core2-64-openbmc-linux/phosphor-ipmi-flash/0.1+gitAUTOINC+7c79b252c1-r1/recipe-sysroot=
-fdebug-prefix-map=/home/pengms1/openbmc_trunk_x86/build/tmp/work/core2-64-openbmc-linux/phosphor-ipmi-flash/0.1+gitAUTOINC+7c79b252c1-r1/recipe-sysroot-native= -fvisibility-inlines-hidden -Wall -Werror -DENABLE_REBOOT_UPDATE -DENABLE_STATIC_LAYOUT -DENABLE_LPC_BRIDGE
-DASPEED_LPC -static -o burn_my_bmc burn_my_bmc-main.o ./.libs/libupdater.a -lipmiblob -lpci</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">| /home/pengms1/openbmc_trunk_x86/build/tmp/work/core2-64-openbmc-linux/phosphor-ipmi-flash/0.1+gitAUTOINC+7c79b252c1-r1/recipe-sysroot-native/usr/bin/x86_64-openbmc-linux/../../libexec/x86_64-openbmc-linux/gcc/x86_64-openbmc-linux/9.1.0/ld:
<b><span style="color:red">cannot find -lpci</span></b></span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">That's indicating that it couldn't find the pciutils installed. Like I said yesterday, I hadn't tried to build the host-tool in this environment and had to clean
up the dependency checks for it. That said, I went through and fixed it all and got it to build as expected from a pure ubuntu docker container. Those patches are up for review and not yet in OpenBMC. That said, I dont' know why the lpci might not be found
for that compilation other than possibly the pciutils recipe is broken. I found yesterday while getting this to work that the instructions on the pciutils README weren't quite right for building the library AND installing that library.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">So I wrote up custom instructions in the README for phosphor-ipmi-flash, that patch is under review.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">If you want to debut your current environment, you need to see if you can find the pkgconfig file and libraries defined:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"><a href="https://github.com/pciutils/pciutils/blob/master/lib/libpci.pc.in" target="_blank">https://github.com/pciutils/pciutils/blob/master/lib/libpci.pc.in</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Basically search for libpci.pc and then read that file. Verify the shared library objects are in the </span><span lang="EN-US" style="font-family:"Calibri",sans-serif">SDK
environment.</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">If you need the libpci archive object for static compilation, that may not be installed by default, you'll want to read
the pciutils README.</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:宋体;color:black;background:white;font-style:normal"> </span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">My OpenBmc build
</span></b></em><b><span lang="EN-US" style="font-family:"Calibri",sans-serif">environment is below.</span></b><span lang="EN-US"><o:p></o:p></span></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" style="border-collapse:collapse">
<tbody>
<tr>
<td width="230" valign="top" style="width:232.4pt;border:solid windowtext 1.0pt;background:yellow;padding:0cm 5.4pt 0cm 5.4pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">OpenBmc Setting</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="284" valign="top" style="width:263.35pt;border:solid windowtext 1.0pt;border-left:none;background:yellow;padding:0cm 5.4pt 0cm 5.4pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">phosphor-ipmi-flash setting (<span style="color:red">build
<em><span style="font-family:"Calibri",sans-serif;background:yellow;font-style:normal">static binary</span></em></span>)</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="139" valign="top" style="width:120.5pt;border:solid windowtext 1.0pt;border-left:none;background:yellow;padding:0cm 5.4pt 0cm 5.4pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">Extra setting
</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
</tr>
<tr style="height:130.5pt">
<td width="230" rowspan="3" valign="top" style="width:232.4pt;border:solid windowtext 1.0pt;border-top:none;padding:0cm 5.4pt 0cm 5.4pt;height:130.5pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">Build Configuration:</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">BB_VERSION = "1.43.0"</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">BUILD_SYS = "x86_64-linux"</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">NATIVELSBSTRING = "ubuntu-16.04"</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">TARGET_SYS = "x86_64-openbmc-linux"</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">MACHINE = "qemux86-64"</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">DISTRO = "openbmc-phosphor"</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">DISTRO_VERSION = "0.1.2"</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">TUNE_FEATURES = "m64 core2"</span></em><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">TARGET_FPU = ""</span></em><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="284" valign="top" style="width:263.35pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:130.5pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US" style="font-family:"Calibri",sans-serif">EXTRA_OECONF += " --enable-build-host-tool --enable-static-layout --enable-lpc-bridge
<br>
--enable-aspeed-lpc MAPPED_ADDRESS=0x98000000 --enable-reboot-update "</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">EXTRA_OEMAKE += " LDFLAGS=-all-static "
<span style="color:red">(Build a <em><span style="font-family:"Calibri",sans-serif;background:white;font-style:normal">statically linked binary</span></em>)</span></span><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="139" rowspan="3" valign="top" style="width:120.5pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:130.5pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">DISABLE_STATIC = "" (<span style="color:red">Build
<em><span style="font-family:"Calibri",sans-serif;background:white;font-style:normal">statically library for
</span></em>ipmi-blob-tool)</span></span><span lang="EN-US"><o:p></o:p></span></p>
</td>
</tr>
<tr style="height:23.25pt">
<td width="284" valign="top" style="width:263.35pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;background:yellow;padding:0cm 5.4pt 0cm 5.4pt;height:23.25pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">phosphor-ipmi-flash setting (<span style="color:red">build
<em><span style="font-family:"Calibri",sans-serif;background:yellow;font-style:normal">dynamic binary</span></em></span>)</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
</tr>
<tr style="height:79.75pt">
<td width="284" valign="top" style="width:263.35pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:79.75pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">EXTRA_OECONF += " --enable-build-host-tool --enable-static-layout --enable-lpc-bridge
<br>
--enable-aspeed-lpc MAPPED_ADDRESS=0x98000000 --enable-reboot-update "</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="color:black"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Regards,<br>
Andrew</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:11.0pt;font-family:等线">发件人<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:11.0pt;font-family:等线"> Patrick Venture <</span><span lang="EN-US"><a href="mailto:venture@google.com" target="_blank"><span style="font-size:11.0pt;font-family:等线">venture@google.com</span></a></span><span lang="EN-US" style="font-size:11.0pt;font-family:等线">>
<br>
</span><b><span style="font-size:11.0pt;font-family:等线">发送时间<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:11.0pt;font-family:等线"> 2019</span><span style="font-size:11.0pt;font-family:等线">年<span lang="EN-US">6</span>月<span lang="EN-US">27</span>日<span lang="EN-US">
9:59<br>
</span><b>收件人<span lang="EN-US">:</span></b><span lang="EN-US"> Andrew MS1 Peng <</span></span><span lang="EN-US"><a href="mailto:pengms1@lenovo.com" target="_blank"><span style="font-size:11.0pt;font-family:等线">pengms1@lenovo.com</span></a></span><span lang="EN-US" style="font-size:11.0pt;font-family:等线">>;
OpenBMC Maillist <</span><span lang="EN-US"><a href="mailto:openbmc@lists.ozlabs.org" target="_blank"><span style="font-size:11.0pt;font-family:等线">openbmc@lists.ozlabs.org</span></a></span><span lang="EN-US" style="font-size:11.0pt;font-family:等线">><br>
</span><b><span style="font-size:11.0pt;font-family:等线">抄送<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:11.0pt;font-family:等线"> Duke KH Du <</span><span lang="EN-US"><a href="mailto:dukh@lenovo.com" target="_blank"><span style="font-size:11.0pt;font-family:等线">dukh@lenovo.com</span></a></span><span lang="EN-US" style="font-size:11.0pt;font-family:等线">>;
</span><span lang="EN-US"><a href="mailto:benjaminfair@google.com" target="_blank"><span style="font-size:11.0pt;font-family:等线">benjaminfair@google.com</span></a></span><span lang="EN-US" style="font-size:11.0pt;font-family:等线">; Adriana Kobylak <</span><span lang="EN-US"><a href="mailto:anoo@us.ibm.com" target="_blank"><span style="font-size:11.0pt;font-family:等线">anoo@us.ibm.com</span></a></span><span lang="EN-US" style="font-size:11.0pt;font-family:等线">><br>
</span><b><span style="font-size:11.0pt;font-family:等线">主题<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:11.0pt;font-family:等线"> [External] Re: Clarify some questions about in-band firmware update</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">On Wed, Jun 26, 2019 at 7:44 AM Patrick Venture <<a href="mailto:venture@google.com" target="_blank">venture@google.com</a>> wrote:<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">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:<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">Hi Patrick,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">I have some questions as below, could you help to clarify. Thanks.</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph" style="margin-left:18.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">1.</span><span lang="EN-US" style="font-size:7.0pt;font-family:"Times New Roman",serif;color:black">
</span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Do you have any plans to support BIOS update in phosphor-ipmi-flash?</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph" style="margin-left:18.0pt">
<span lang="EN-US" style="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><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">This could be added to the design (first step).<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">I have some cycles, so I don't mind reviewing the changes required and rolling something out -- <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph" style="margin-left:18.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">2.</span><span lang="EN-US" style="font-size:7.0pt;font-family:"Times New Roman",serif;color:black">
</span><span lang="EN-US" style="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><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph" style="margin-left:18.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">3.</span><span lang="EN-US" style="font-size:7.0pt;font-family:"Times New Roman",serif;color:black">
</span><span lang="EN-US" style="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
<em><span style="font-family:"Calibri",sans-serif;background:white;font-style:normal">statically linked binary successfully</span></em>, but I have made it before you added p2a function.</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">For the host tool you need to specify very little, you should be able to build it via:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">./bootstrap.sh<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">./configure<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">./make<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">You will need to checkout and install ipmi-blob-tool first (openbmc/ipmi-blob-tool)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">^^ --- those steps should go on the README. Will add them shortly.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph" style="margin-left:18.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Based on different OS
</span><span lang="EN-US" style="font-family:"Calibri",sans-serif">environment as below,
<span style="color:black">I would like to have a static executable since <em><span style="font-family:"Calibri",sans-serif;background:white;font-style:normal">dynamically linked binary can’t work normally in host OS.</span></em></span></span><span lang="EN-US"><o:p></o:p></span></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" style="margin-left:18.0pt;border-collapse:collapse">
<tbody>
<tr>
<td width="288" valign="top" style="width:215.75pt;border:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph">
<span lang="EN-US" style="font-family:"Calibri",sans-serif">Host OS environment</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="288" valign="top" style="width:215.75pt;border:solid windowtext 1.0pt;border-left:none;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph">
<span lang="EN-US" style="font-family:"Calibri",sans-serif">Build environment (OpenBmc)</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="288" valign="top" style="width:215.75pt;border:solid windowtext 1.0pt;border-top:none;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph">
<span lang="EN-US" style="font-family:"Calibri",sans-serif">Gcc v4.8.5</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="288" valign="top" style="width:215.75pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph">
<span lang="EN-US" style="font-family:"Calibri",sans-serif">Gcc v8.3.0</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="288" valign="top" style="width:215.75pt;border:solid windowtext 1.0pt;border-top:none;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph">
<span lang="EN-US" style="font-family:"Calibri",sans-serif">Glibc v2.17</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="288" valign="top" style="width:215.75pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt">
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph">
<span lang="EN-US" style="font-family:"Calibri",sans-serif">Glibc v2.29</span><span lang="EN-US"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph" style="margin-left:18.0pt">
<span lang="EN-US" style="font-family:"Calibri",sans-serif">4.</span><span lang="EN-US" style="font-size:7.0pt;font-family:"Times New Roman",serif">
</span><span lang="EN-US" style="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?
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph" style="margin-left:18.0pt">
<code><span lang="EN-US" style="font-family:"Calibri",sans-serif">update_bmc.service</span></code><span lang="EN-US" style="font-family:"Calibri",sans-serif"><br>
<code><span style="font-family:"Calibri",sans-serif">verify_image.service</span></code><br>
<code><span style="font-family:"Calibri",sans-serif">prepare_update.service</span></code></span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">^--- I can work on making the ubi bmc option available if the ubi distro feature is enabled, etc -- providing some defaults.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">^--- I have a plan to provide a prepare_update.service once I finish testing Aspeed LPC support.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">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. <o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="gmail-m-8411625341099404742gmail-m1788754371567513735gmail-m6436252274273416049gmail-m-4871403681716629123gmail-m5865277644764564145gmail-m5232517683823064206gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph" style="margin-left:18.0pt">
<span lang="EN-US"> <o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-family:"Calibri",sans-serif">Regards,<br>
Andrew</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Andrew, the steps here should work for you to build out the host-tool: <a href="https://github.com/openbmc/phosphor-ipmi-flash#building-and-using-the-host-tool" target="_blank">https://github.com/openbmc/phosphor-ipmi-flash#building-and-using-the-host-tool</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">That said, because you requested we support BIOS images too, I'm looking at re-working some of the blobIDs involved. That said, the host-tool and BMC version
are locked together. <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</body>
</html>