Clarify some questions about in-band firmware update
Patrick Venture
venture at google.com
Thu Jun 27 00:44:17 AEST 2019
On Wed, Jun 26, 2019 at 4:28 AM Andrew MS1 Peng <pengms1 at lenovo.com> wrote:
> Hi Patrick,
>
>
>
> I have some questions as below, could you help to clarify. Thanks.
>
> 1. Do you have any plans to support BIOS update in
> phosphor-ipmi-flash?
>
> 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.
>
This could be added to the design (first step).
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.
I have some cycles, so I don't mind reviewing the changes required and
rolling something out --
> 2. 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?
>
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.
> 3. How can I make a static executable host tool (burn_my_bmc)?
> Currently, I can’t to make a *statically linked binary successfully*, but
> I have made it before you added p2a function.
>
For the host tool you need to specify very little, you should be able to
build it via:
./bootstrap.sh
./configure
./make
You will need to checkout and install ipmi-blob-tool first
(openbmc/ipmi-blob-tool)
^^ --- those steps should go on the README. Will add them shortly.
> Based on different OS environment as below, I would like to have a static
> executable since *dynamically linked binary can’t work normally in host
> OS.*
>
> Host OS environment
>
> Build environment (OpenBmc)
>
> Gcc v4.8.5
>
> Gcc v8.3.0
>
> Glibc v2.17
>
> Glibc v2.29
>
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.
> 4. I didn’t find the below service files in source tree, where can
> find default services or should we provide our own services?
>
> update_bmc.service
> verify_image.service
>
> prepare_update.service
>
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.
^--- I can work on making the ubi bmc option available if the ubi distro
feature is enabled, etc -- providing some defaults.
^--- I have a plan to provide a prepare_update.service once I finish
testing Aspeed LPC support.
>
>
>
>
> Regards,
> Andrew
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20190626/c794ece7/attachment.htm>
More information about the openbmc
mailing list