<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=gb2312">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@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: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;}
@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;}
/* 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-6091798217660211465gmail-m-7106965077525685122msolistparagraph, li.gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph, div.gmail-m-6091798217660211465gmail-m-7106965077525685122msolistparagraph
        {mso-style-name:gmail-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.EmailStyle20
        {mso-style-type:personal;
        font-family:等线;
        color:#1F497D;}
span.EmailStyle21
        {mso-style-type:personal-compose;
        font-family:等线;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        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"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;mso-fareast-language:ZH-TW">Hi Patrick,<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"><br>
I synchronized our Openbmc </span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white">repository </span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;mso-fareast-language:ZH-TW">with
</span><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">upstream</span></em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white"> repository then compiled and
 checked the result yesterday, we can generate </span><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">dynamically linked binary but still failed to generate statically linked binary. 
</span></em><span lang="EN-US" style="font-family:"Calibri",sans-serif;mso-fareast-language:ZH-TW">I used
<em><span style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">OpenBmc
</span></em></span><span lang="EN-US" style="font-family:"Calibri",sans-serif">environment</span><span lang="EN-US" style="font-family:"Calibri",sans-serif;mso-fareast-language:ZH-TW"> to compile and also created a SDK
</span><span lang="EN-US" style="font-family:"Calibri",sans-serif">environment by using x86-64 toolchain (oecore-x86_64-core2-64-toolchain-nodistro.0.sh) to compile, the compile result is the same.
</span><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">It seems to the linker not find the
</span></em><span lang="EN-US" style="font-family:"Calibri",sans-serif;letter-spacing:-.05pt;background:white">archive file libpci.a,
</span><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">could you take a look my problem? Thanks.</span></em><em><span lang="EN-US" style="font-family:宋体;color:black;background:white;font-style:normal"><o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal"><o:p> </o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">I will get error message when I run the tool in my host platform as below. The</span></em><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal">
 dynamically linked binary</span></em><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal"> 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><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal"><o:p></o:p></span></em></p>
<p class="MsoNormal" style="margin-left:12.0pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver">pengms1@hsbmc: $ ./burn_my_bmc
</span><span lang="EN-US" style="background:silver;mso-highlight:silver"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:12.0pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight: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><em><span lang="EN-US" style="font-family:宋体;background:silver;mso-highlight:silver;font-style:normal"><o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       linux-vdso.so.1 =>  (0x00007ffcd2363000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       libipmiblob.so.0 => /home/pengms1/SDK/OpenBmc/rootfs/lib/libipmiblob.so.0 (0x00007f25d373a000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       libpci.so.3 => /lib/x86_64-linux-gnu/libpci.so.3 (0x00007f25d3512000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f25d3190000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f25d2f79000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f25d2baf000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f25d28a6000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f25d268b000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f25d2470000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f25d2450000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x000055731193b000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f25d2247000)<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:silver;mso-highlight:silver;font-style:normal">       libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f25d202a000)</span></em><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;font-style:normal"><o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:宋体;color:black;background:white;font-style:normal"><o:p> </o:p></span></em></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;mso-fareast-language:ZH-TW">The compile error message is below:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Calibri",sans-serif;mso-fareast-language:ZH-TW">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<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Calibri",sans-serif;mso-fareast-language:ZH-TW">| /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><o:p></o:p></span></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:宋体;color:black;background:white;font-style:normal"><o:p> </o:p></span></em></p>
<p class="MsoNormal"><em><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">My OpenBmc build
</span></b></em><b><span lang="EN-US" style="font-family:"Calibri",sans-serif">environment is below.</span><span lang="EN-US"><o:p></o:p></span></b></p>
<table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border:none">
<tbody>
<tr>
<td width="251" valign="top" style="width:232.4pt;border:solid windowtext 1.0pt;background:yellow;padding:0cm 5.4pt 0cm 5.4pt">
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Calibri",sans-serif;mso-fareast-language:ZH-TW">OpenBmc Setting<o:p></o:p></span></p>
</td>
<td width="310" 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"><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>)<o:p></o:p></span></p>
</td>
<td width="146" 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"><span lang="EN-US" style="font-family:"Calibri",sans-serif;mso-fareast-language:ZH-TW">Extra setting
<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:130.5pt">
<td width="251" 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"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">Build Configuration:</span></em><em><span lang="EN-US" style="font-family:宋体;color:black;background:white;font-style:normal"><o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">BB_VERSION           = "1.43.0"<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">BUILD_SYS            = "x86_64-linux"<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">NATIVELSBSTRING      = "ubuntu-16.04"<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">TARGET_SYS           = "x86_64-openbmc-linux"<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">MACHINE              = "qemux86-64"<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">DISTRO               = "openbmc-phosphor"<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">DISTRO_VERSION       = "0.1.2"<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">TUNE_FEATURES        = "m64 core2"<o:p></o:p></span></em></p>
<p class="MsoNormal"><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black;background:white;mso-fareast-language:ZH-TW;font-style:normal">TARGET_FPU           = ""</span></em><span lang="EN-US"><o:p></o:p></span></p>
</td>
<td width="310" 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"><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 "<br>
<br>
<o:p></o:p></span></p>
<p class="MsoNormal"><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><o:p></o:p></span></p>
</td>
<td width="146" 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"><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><o:p></o:p></span></p>
</td>
</tr>
<tr style="height:23.25pt">
<td width="310" 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"><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>)<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:79.75pt">
<td width="310" 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"><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 "<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US" style="color:black"><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">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 <pengms1@lenovo.com>; OpenBMC Maillist <openbmc@lists.ozlabs.org><br>
</span><b>抄送<span lang="EN-US">:</span></b><span lang="EN-US"> Duke KH Du <dukh@lenovo.com>; benjaminfair@google.com; Adriana Kobylak <anoo@us.ibm.com><br>
</span><b>主题<span lang="EN-US">:</span></b><span lang="EN-US"> [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 Wed, Jun 26, 2019 at 7:44 AM Patrick Venture <<a href="mailto:venture@google.com">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"><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 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-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-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"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">This could be added to the design (first step).<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><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"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><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"><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-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"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><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"><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-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"><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"><span lang="EN-US">./bootstrap.sh<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">./configure<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">./make<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">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"><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>
<div>
<p class="MsoNormal"><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"><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-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-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-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-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-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-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-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"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><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"><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-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-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"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><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"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><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"><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"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
</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">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-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>
</body>
</html>