All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick Venture <venture@google.com>
To: Neeraj Ladkani <neladk@microsoft.com>
Cc: OpenBMC Maillist <openbmc@lists.ozlabs.org>
Subject: Re: phosphor-ipmi-flash making progress!
Date: Thu, 20 Jun 2019 07:26:29 -0700	[thread overview]
Message-ID: <CAO=notwkfzqwYA2hatPP3StNUj7kZLgPbTuf=B2eE8PJsWCqXQ@mail.gmail.com> (raw)
In-Reply-To: <SN6PR2101MB0943F194BD7DF1868ADED4DDC8E40@SN6PR2101MB0943.namprd21.prod.outlook.com>

On Wed, Jun 19, 2019 at 11:23 PM Neeraj Ladkani <neladk@microsoft.com> wrote:
>
> What are in-band update methods for OpenBMC? I see this(phosphor-ipmi-flash) can take takes ~3 hours over IPMI. What is the solution for in-band update?  what tools can be used?

It supports the LPC memory region interface available with the Aspeed
and Nuvoton BMCs.  Then it doesn't take 3 hours.  It also supports
using the aspeed pci-to-ahb bridge on Aspeed.  It will probably
support Nuvoton's variation of that, but that's beyond my current
scoping.  As far as tools, i don't entirely know what you mean.  There
is a tool in phosphor-ipmi-flash for the host.

>
> Neeraj
>
> -----Original Message-----
> From: openbmc <openbmc-bounces+neladk=microsoft.com@lists.ozlabs.org> On Behalf Of Patrick Venture
> Sent: Wednesday, June 12, 2019 6:04 PM
> To: OpenBMC Maillist <openbmc@lists.ozlabs.org>
> Subject: phosphor-ipmi-flash making progress!
>
> For those interested parties, phosphor-ipmi-flash which provides a variety of out-of-band mechanisms for updating the BMC in a fully-configurable manner is nearly ready for wide distribution.
>
> Currently supported: aspeed-p2a-ctrl (ipmipci), and inband (ipmibt)* Shortly supported: aspeed-lpc-ctrl (ipmilpc)
>
> *There is a bug in the transmit buffer size depending on whether it's over KCS versus actually BT since BT has a smaller buffer requirement.
>
> UBI Tarball updates aren't yet supported, but that's only a matter of someone writing an update handler.  The firmware handler on the BMC can be extended easily to support a variety of verification and update mechanisms.  The default behavior is to leverage a service for each of these things.  One can implement whatever they really want for each service.
>
> The file sent to the BMC isn't required to have a signature file.  One could simply skip sending the hash file and have a verification step that doesn't do anything special.  So, it's very flexible.
>
> Here's some output:
>
> $ ./phosphor_ipmi_flash_tool --command update --interface ipmipci --image image-bmc --sig image-bmc.sig
>
> Sending over the firmware image.
> [0x1a03 0x2000]
> The bridge is enabled!
> Received address: 0x47ff0000
> Sending over the hash file.
> [0x1a03 0x2000]
> The bridge is enabled!
> Received address: 0x47ff0000
>
> Opening the verification file
> Committing to /flash/verify file to trigger service Calling stat on /flash/verify session to check status other running running success Returned success succeeded
>
> Opening the update file
> Committing to /flash/update file to trigger service Calling stat on /flash/update session to check status running Exception received: blob exception received: Received IPMI_CC: busy
>
> On the BMC:
> shutdown: reboot --timeout 90000000us --log-level 6 --log-target kmsg --log-color
> + awk '/oldroot|mnt/ { print $2 }'
> + sort -r
> + umount /oldroot/sys/kernel/debug
> + umount /oldroot/sys/fs/cgroup/unified
> + umount /oldroot/sys/fs/cgroup/systemd
> + umount /oldroot/sys/fs/cgroup
> + umount /oldroot/sys/fs/bpf
> + umount /oldroot/sys
> + umount /oldroot/proc
> + umount /oldroot/dev/shm
> + umount /oldroot/dev/pts
> + umount /oldroot/dev
> + umount /oldroot
> + umount /mnt/initramfs/rw
> + umount /mnt/initramfs/ro
> + umount /mnt
> + set +x
> Pinging watchdog with args -t 1 -T 5
> update: --clean-saved-files
> [ 8240.817801] jffs2: notice: (1171) jffs2_build_xattr_subsystem:
> complete building xattr subsystem, 17 of xdatum (15 unchecked, 1
> orphan) and 30 of xref (1 dead, 0 orphan) found.
> Updating bmc...
> Erasing block: 69/512 (13%)
>
> Given a BMC configuration:
> EXTRA_OECONF_append_quanta-q71l = " --enable-static-layout"
> EXTRA_OECONF_append_quanta-q71l = " --enable-pci-bridge"
> EXTRA_OECONF_append_quanta-q71l = " --enable-aspeed-p2a"
> EXTRA_OECONF_append_quanta-q71l = " --enable-reboot-update"
> EXTRA_OECONF_append_quanta-q71l = " MAPPED_ADDRESS=0x47FF0000"
>
>
> Patrick

  reply	other threads:[~2019-06-20 14:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-13  1:04 phosphor-ipmi-flash making progress! Patrick Venture
2019-06-20  6:23 ` Neeraj Ladkani
2019-06-20 14:26   ` Patrick Venture [this message]
2019-07-30 23:19     ` Neeraj Ladkani
2019-07-30 23:33       ` Patrick Venture

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAO=notwkfzqwYA2hatPP3StNUj7kZLgPbTuf=B2eE8PJsWCqXQ@mail.gmail.com' \
    --to=venture@google.com \
    --cc=neladk@microsoft.com \
    --cc=openbmc@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.