答复: [External] Re: configure error and the image content seems to be incorrect

Andrew MS1 Peng pengms1 at lenovo.com
Thu Jul 18 21:27:42 AEST 2019


Hi Patrick,

Could you give me a hand on below problems? Thanks.

1.      I compiled the latest version of phosphor-ipmi-flash with OpenBMC SDK environment to build host tool, but encounter configuration error message as below, could you help to take a look at it?


./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

checking whether C++ compiler accepts -lgmock... yes
checking whether C++ compiler accepts -pthread... (cached) yes
checking for main in -lgmock... yes
checking for valgrind... no
checking whether to build with code coverage support... no
configure: Enabling OE-SDK at /home/pengms1/SDK/openbmc-sdk/2.8.0/sysroots/core2-64-openbmc-linux
configure: error: conditional "HAVE_SYSTEMD" was never defined.
Usually this means the macro was only invoked conditionally.



2.      According to your suggestion, our BIOS engineer help to reserve host memory addr 0x40000000 with size 256KB and initiate this region with value 0xaa. I can see the value Oxaaaaaaaa from memory addr 0x40000000 via devmem2 tool. The memory region was overwritten during executable burn_my_bmc running, I compared the content between BMC and host image but it was Inconsistent. Could you give me some advice to solve it?

BMC configuration setting:
EXTRA_OECONF += " --enable-reboot-update  --enable-static-layout --enable-aspeed-lpc MAPPED_ADDRESS=0x40000000 --enable-reboot-update"

Host tool setting:
./burn_my_bmc --command update --interface ipmilpc --image ./630.mtd --sig ./sig.txt --type static --address 0x40000000 --length 65536

Regards,
Andrew

发件人: Patrick Venture <venture at google.com>
发送时间: 2019年7月16日 23:38
收件人: Andrew MS1 Peng <pengms1 at lenovo.com>
抄送: openbmc at lists.ozlabs.org; Duke KH Du <dukh at lenovo.com>
主题: [External] Re: configure error and the image content seems to be incorrect



On Tue, Jul 16, 2019 at 5:31 AM Andrew MS1 Peng <pengms1 at lenovo.com<mailto:pengms1 at lenovo.com>> wrote:
Hi Patrick,

1.      I downloaded the latest version of phosphor-ipmi-flash to build host tool with the SDK environment you provide, but encounter configure error as below, could you help to take a look at it?

Source code hash id


Compile Status


Error message


b90cacdd0c1ab8ea7576d4ca9f20aa5828a84e42


configure successful


fd182168d9d1c852b1047b9eccea56812b614586
1999eef0e6ad3ab4ad6fcf58cce47f352ca5e137
fa06a5f0056e91bfada390c4007fbd3472d75a56
7c2a00e02f1f0169b3e80ef1715002cefc6fa0d0
c9792e75361c86da7f674976eacd03c761021d2f


configure failed


checking whether C++ compiler accepts -lgtest... yes
checking whether C++ compiler accepts -pthread... (cached) yes
checking for main in -lgtest... yes
checking whether C++ compiler accepts -lgmock... yes
checking whether C++ compiler accepts -pthread... (cached) yes
checking for main in -lgmock... yes
checking for valgrind... no
checking whether to build with code coverage support... no
configure: Enabling OE-SDK at /home/pengms1/SDK/openbmc-sdk/2.8.0/sysroots/core2-64-openbmc-linux
configure: error: conditional "HAVE_SYSTEMD" was never defined.
Usually this means the macro was only invoked conditionally.


2.      The host tool compiled with phosphor-ipmi-flash hash id b90cacdd0c1ab8ea7576d4ca9f20aa5828a84e42 and BMC flash library compiled with phosphor-ipmi-flash hash id c9792e75361c86da7f674976eacd03c761021d2f, the BMC image can transfer from host side to BMC side via LPC bridge. The image size is correct, but the image content seems to be incorrect as below, could you give us some clues to solve it if this is an issue?

Image of host side


Image of BMC side


pengms1 at hsbmc:/flash_tool$ hexdump -n 64 ./630.mtd

0000000 00be ea00 f014 e59f f014 e59f f014 e59f

0000010 f014 e59f f014 e59f f014 e59f f014 e59f

0000020 0060 0000 00c0 0000 0120 0000 0180 0000

0000030 01e0 0000 0240 0000 02a0 0000 beef dead


root at hr630:~# hexdump -n 64 /run/initramfs/bmc-image

0000000 abc4 ef4e 11f2 b128 2538 fd9c 9f7a 2e00

0000010 78c4 af6e 01f2 a92a 7438 759c 8e76 2e00

0000020 f397 05f0 84e4 6546 0ac6 b6d0 ef19 cb80

0000030 e9d7 82f0 c4e4 75dc 1bc6 a295 7319 49c4


DTS setting:
             flash_memory: region at 98000000 {
                    no-map;
                    reg = <0x98000000 0x00100000>; /* 1M */
             };

BMC configuration setting:
EXTRA_OECONF += " --enable-reboot-update  --enable-static-layout --enable-aspeed-lpc MAPPED_ADDRESS=0x98000000 --enable-reboot-update"

Host tool setting:
./burn_my_bmc --command update --interface ipmilpc --image ./630.mtd --sig ./sig.txt --type static --address 2550136832 --length 65536

The address provided for the host:
>>> '0x%x' % 2550136832
'0x98000000'

Is a region of memory on the host that's set aside for this purpose and is mapped via /dev/mem.  It's not the address the BMC Is using.  You'll need to use a region reserved for this purpose in the host kernel or bios.


Thanks,
Andrew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20190718/e95e6bbd/attachment-0001.htm>


More information about the openbmc mailing list