* phosphor-ipmi-flash making progress!
@ 2019-06-13 1:04 Patrick Venture
2019-06-20 6:23 ` Neeraj Ladkani
0 siblings, 1 reply; 5+ messages in thread
From: Patrick Venture @ 2019-06-13 1:04 UTC (permalink / raw)
To: OpenBMC Maillist
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: phosphor-ipmi-flash making progress!
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
0 siblings, 1 reply; 5+ messages in thread
From: Neeraj Ladkani @ 2019-06-20 6:23 UTC (permalink / raw)
To: Patrick Venture, OpenBMC Maillist
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?
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: phosphor-ipmi-flash making progress!
2019-06-20 6:23 ` Neeraj Ladkani
@ 2019-06-20 14:26 ` Patrick Venture
2019-07-30 23:19 ` Neeraj Ladkani
0 siblings, 1 reply; 5+ messages in thread
From: Patrick Venture @ 2019-06-20 14:26 UTC (permalink / raw)
To: Neeraj Ladkani; +Cc: OpenBMC Maillist
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: phosphor-ipmi-flash making progress!
2019-06-20 14:26 ` Patrick Venture
@ 2019-07-30 23:19 ` Neeraj Ladkani
2019-07-30 23:33 ` Patrick Venture
0 siblings, 1 reply; 5+ messages in thread
From: Neeraj Ladkani @ 2019-07-30 23:19 UTC (permalink / raw)
To: Patrick Venture; +Cc: OpenBMC Maillist
Do we support HPM ? how do we enable Windows based Inband firmware update?
Neeraj
-----Original Message-----
From: Patrick Venture <venture@google.com>
Sent: Thursday, June 20, 2019 7:26 AM
To: Neeraj Ladkani <neladk@microsoft.com>
Cc: OpenBMC Maillist <openbmc@lists.ozlabs.org>
Subject: Re: phosphor-ipmi-flash making progress!
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: phosphor-ipmi-flash making progress!
2019-07-30 23:19 ` Neeraj Ladkani
@ 2019-07-30 23:33 ` Patrick Venture
0 siblings, 0 replies; 5+ messages in thread
From: Patrick Venture @ 2019-07-30 23:33 UTC (permalink / raw)
To: Neeraj Ladkani; +Cc: OpenBMC Maillist
On Tue, Jul 30, 2019 at 4:20 PM Neeraj Ladkani <neladk@microsoft.com> wrote:
>
> Do we support HPM ?
What is HPM?
> how do we enable Windows based Inband firmware update?
I haven't tried compiling the host-side tool for windows. I imagine
cygwin will work, either way, feel free to take a stab at it!
>
> Neeraj
>
>
> -----Original Message-----
> From: Patrick Venture <venture@google.com>
> Sent: Thursday, June 20, 2019 7:26 AM
> To: Neeraj Ladkani <neladk@microsoft.com>
> Cc: OpenBMC Maillist <openbmc@lists.ozlabs.org>
> Subject: Re: phosphor-ipmi-flash making progress!
>
> 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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-07-30 23:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2019-07-30 23:19 ` Neeraj Ladkani
2019-07-30 23:33 ` Patrick Venture
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.