History log of /openbmc/phosphor-ipmi-flash/tools/updater.cpp (Results 1 – 25 of 42)
Revision Date Author Comments
# 7d249a7a 13-Sep-2021 Willy Tu <wltu@google.com>

updater: remove find() and use std::string::starts_with()

Use std::string::starts_with to check for active blob prefix.

Change-Id: I03271c5f19781b522287d09ed8e2882baf68d3e0
Sign

updater: remove find() and use std::string::starts_with()

Use std::string::starts_with to check for active blob prefix.

Change-Id: I03271c5f19781b522287d09ed8e2882baf68d3e0
Signed-off-by: Willy Tu <wltu@google.com>

show more ...


# 203ad804 09-Sep-2021 Willy Tu <wltu@google.com>

updater: Cleanup Active blob to support multiple stages

Without the change, the update will fail due to existing active blob.
```
./burn_my_bmc --command update --interface ipmipci

updater: Cleanup Active blob to support multiple stages

Without the change, the update will fail due to existing active blob.
```
./burn_my_bmc --command update --interface ipmipci \
--image test.txt --sig test.txt --type bios
Sending over the firmware image.
sendFile with /flash/bios and test.txt
Opening the cleanup blob
Committing to the cleanup blob
Closing cleanup blob
Exception received: blob exception received: Received IPMI_CC: 255
```

With the Change, it will delete the active blob to continue the update.
```
./burn_my_bmc --command update --interface ipmipci \
--image test.txt --sig test.txt --type bios
Found an active blob, deleting /flash/active/image
Opening the cleanup blob
Committing to the cleanup blob
Closing cleanup blob
Committing to the cleanup blob
Closing cleanup blob
Sending over the firmware image.
sendFile with /flash/bios and test.txt
000Find [0x1050 0x750]
bar0[0x90100000]
Progress: 100.00%
001Sending over the hash file.
sendFile with /flash/hash and test.txt
000Find [0x1050 0x750]
bar0[0x90100000]
Progress: 100.00%
001Opening the verification file
Committing to /flash/verify to trigger service
Calling stat on /flash/verify session to check status
running
running
failed
Returned non-success (could still be running (unlikely))
failed
Opening the cleanup blob
Committing to the cleanup blob
Closing cleanup blob
Exception received: Verification failed
```

Signed-off-by: Willy Tu <wltu@google.com>
Change-Id: I46a802c7faece60a9b5354db47860e796af99107

show more ...


# 9b37b095 28-May-2020 Patrick Venture <venture@google.com>

update gcc10 and clang-format10

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I72239b884615d26b2c4311c49a26e2eced0a1fb0


# 060be01f 14-Nov-2019 Benjamin Fair <benjaminfair@google.com>

tools: remove stat() check for supported interface

If an unsupported interface is requested, the open() call will simply
fail.

Signed-off-by: Benjamin Fair <benjaminfair@google.

tools: remove stat() check for supported interface

If an unsupported interface is requested, the open() call will simply
fail.

Signed-off-by: Benjamin Fair <benjaminfair@google.com>
Change-Id: Iefd11657d957931873a4d20246d9ccdd791ba0e5

show more ...


# 6749ba1c 19-Sep-2019 Brandon Kim <brandonkim@google.com>

tools: Add ignoreUpdate parameter

Adds ignoreUpdate flag to skip checking the update status and always
return success instead. This is needed for platforms that use the reboot
json a

tools: Add ignoreUpdate parameter

Adds ignoreUpdate flag to skip checking the update status and always
return success instead. This is needed for platforms that use the reboot
json and encounters an update failure due to IPMI going down during
shutdown.

Tested: Tried out an update with and without --ignore-update to verify
that the flag ignores the update status and returns success.

Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: Ie20774f997229cd5ff8ae9082dc8a747079f9a2c

show more ...


# c498caa4 15-Aug-2019 Patrick Venture <venture@google.com>

tools: type field now matches the /flash/{type}

Instead of mapping one word to a pre-defined mapping of types, let the
host user specify any value.

A user shouldn't specify hash

tools: type field now matches the /flash/{type}

Instead of mapping one word to a pre-defined mapping of types, let the
host user specify any value.

A user shouldn't specify hash, or update, or something meaningful.
Perhaps this should be validated.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Icec103e0ade999d527923dcacb440086c93e175c

show more ...


# c9792e75 02-Jul-2019 Patrick Venture <venture@google.com>

tools: add bios support

Add type "bios" to burn_my_bmc, such that when used it'll use the
/flash/bios path for writing the bios contents.

Signed-off-by: Patrick Venture <venture

tools: add bios support

Add type "bios" to burn_my_bmc, such that when used it'll use the
/flash/bios path for writing the bios contents.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I613af23b80eb99936b744d4138a61d2f7b39b962

show more ...


# 84778b8d 26-Jun-2019 Patrick Venture <venture@google.com>

tools: remove phosphor-ipmi-blobs dependency

The host tool depended on the BMC header: firmware_handler.hpp because
it defined the flags. This header depends on phosphor-ipmi-blobs,

tools: remove phosphor-ipmi-blobs dependency

The host tool depended on the BMC header: firmware_handler.hpp because
it defined the flags. This header depends on phosphor-ipmi-blobs,
therefore the host-tool depends on this. Move the flags into a separate
common header file and snip this dependency.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Id2ad33a1611c02605a1ed5c695429d0451eb98d4

show more ...


# 9f937c45 21-Jun-2019 Patrick Venture <venture@google.com>

tools: add support for ubi tarball from host

Add a parameter that specifies the layout type, static or ubitar.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I86

tools: add support for ubi tarball from host

Add a parameter that specifies the layout type, static or ubitar.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I86c09d8ffeb55ba789279d2568b579a44b3923d7

show more ...


# 01123b2a 20-Jun-2019 Patrick Venture <venture@google.com>

tools: split out the update handler

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I367ea961c98ec822d3200d101c4f5977d77e7402


# 5f2fcc4e 20-Jun-2019 Patrick Venture <venture@google.com>

tools: add cleanup blob on failure

If the update process fails, call the cleanup blob and try to cleanup
artifacts automatically.

Signed-off-by: Patrick Venture <venture@google.

tools: add cleanup blob on failure

If the update process fails, call the cleanup blob and try to cleanup
artifacts automatically.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ib57e5cc7f13b73e2d7371116058469a4d4bfd0c4

show more ...


# 1f09d414 19-Jun-2019 Patrick Venture <venture@google.com>

tool: continue the unit-tests of the host tool

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I51349fc103af2a55f1b83830bf8e74407fc15b9e


# f6ea2e83 12-Jun-2019 Patrick Venture <venture@google.com>

tools: update status debug message

Update the verification commit status debug message to not specify that
it's the verification blob specifically as this method is used for both
ver

tools: update status debug message

Update the verification commit status debug message to not specify that
it's the verification blob specifically as this method is used for both
verification and update.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I0ee89a5e8f7eae2533ab89db12032b33d1c25ec1

show more ...


# 14713bec 05-Jun-2019 Patrick Venture <venture@google.com>

tools: open and commit() on updateBlobId

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Id4d531e2ea2d755aa310261966254419d78dccdb


# da66fd84 03-Jun-2019 Patrick Venture <venture@google.com>

merge Verification and Update statuses

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ibb9c1c9f9cb7e9cda18f4e8dddb31d57a12f0d90


# c674474c 28-May-2019 Patrick Venture <venture@google.com>

tools: updater: cppcheck fixups

The scope of the variable 'commandAttempts' can be reduced.
The scope of the variable 'attempts' can be reduced.
The scope of the variable 'exitLoop'

tools: updater: cppcheck fixups

The scope of the variable 'commandAttempts' can be reduced.
The scope of the variable 'attempts' can be reduced.
The scope of the variable 'exitLoop' can be reduced.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ib2e258c1af7110ff4568695b8f1ea877a9ffef99

show more ...


# 1d5a31c9 20-May-2019 Patrick Venture <venture@google.com>

bmc: move away from blobs namespace

The blobs namespace is really owned by phosphor-ipmi-blobs. Move all
phosphor-ipmi-flash objects into ipmi_flash namespace.

Signed-off-by: P

bmc: move away from blobs namespace

The blobs namespace is really owned by phosphor-ipmi-blobs. Move all
phosphor-ipmi-flash objects into ipmi_flash namespace.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I51b721ad4f3cdc4cc43846c942967ed2e5f16589

show more ...


# 3ecb3503 17-May-2019 Patrick Venture <venture@google.com>

bmc: enable configuration of all verification

Enable verification configuration beyond the result file check. This
patchset allows a developer to provide their own verification mechanis

bmc: enable configuration of all verification

Enable verification configuration beyond the result file check. This
patchset allows a developer to provide their own verification mechanisms
by implementing an interface and adding configuration to enable using
their custom version.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Iba5d4be75bb49d9c4ab84be8578f0306c15b5be9

show more ...


# 7dad86fd 17-May-2019 Patrick Venture <venture@google.com>

util: create util object for bmc and tool

Create a common util object for the BMC library and host tool. Place in
blobs namespace favoring BMC.

Signed-off-by: Patrick Venture <

util: create util object for bmc and tool

Create a common util object for the BMC library and host tool. Place in
blobs namespace favoring BMC.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I036fd65d924c65fcfa71aba5cd76275a2941ff14

show more ...


# 55646dec 16-May-2019 Patrick Venture <venture@google.com>

tools: add update handler

Add an UpdateHandler to handle each step of the update process.

This code was already in place but is now handled via an UpdateHandler
object.

tools: add update handler

Add an UpdateHandler to handle each step of the update process.

This code was already in place but is now handled via an UpdateHandler
object.

Tested: Not yet tested.
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I36cd1b94d8e2c0788d09805d935738d86e6e33de

show more ...


# bc841be9 16-May-2019 Patrick Venture <venture@google.com>

tools: drop extraneous return statemen

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I2a12b61b63ec1e0d54fffae07431c145b988ad7f


# d61b0ff8 15-May-2019 Patrick Venture <venture@google.com>

tools: implement firmware verification polling

The verification process is asynchronous, therefore poll the BMC
firmware state.

Tested: Verified it behaves as intended, before m

tools: implement firmware verification polling

The verification process is asynchronous, therefore poll the BMC
firmware state.

Tested: Verified it behaves as intended, before moving it into a
sub-routine:

Opening the verification file
Committing to verification file to trigger verification service
Calling stat on verification session to check status
stat received:
blob_state: 0x206
size: 0x0
metadata(1): 0x3
other
stat received:
blob_state: 0x206
size: 0x0
metadata(1): 0x0
running
stat received:
blob_state: 0x206
size: 0x0
metadata(1): 0x0
running
stat received:
blob_state: 0x206
size: 0x0
metadata(1): 0x1
success
stat received:
blob_state: 0x206
size: 0x0
metadata(1): 0x1
success

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I3cb13d1a966c2c833fd4fee5654332f34e80355a

show more ...


# 7dcca5dd 15-May-2019 Patrick Venture <venture@google.com>

tools: trigger verification

Trigger verification via committing to the verify blob id.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ia3722ff144ba268cd554bac0fd

tools: trigger verification

Trigger verification via committing to the verify blob id.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ia3722ff144ba268cd554bac0fda06f0c426edd88

show more ...


# 73528388 14-May-2019 Patrick Venture <venture@google.com>

updater: send hash file contents

Send the hash file contents to the firmware image or tarball can be
verified, for whatever verification process is used by a platform.

Tested: V

updater: send hash file contents

Send the hash file contents to the firmware image or tarball can be
verified, for whatever verification process is used by a platform.

Tested: Verified md5sum of /tmp/bmc.sig matches the signature file's
hash on the host. Sent the contents over P2A. The implementation uses
the same data pathway for the firmware image and the signature file.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Icbc7fddc4587059004935cf51063797b25f76ad0

show more ...


# 664c5bc7 07-Mar-2019 Patrick Venture <venture@google.com>

use ipmiblob library from ipmi-blob-tool

Drop all code that is now handled by the ipmiblob library provided by
the new ipmi-blob-tool. This is a library that can be included on the

use ipmiblob library from ipmi-blob-tool

Drop all code that is now handled by the ipmiblob library provided by
the new ipmi-blob-tool. This is a library that can be included on the
BMC if necessary, but relies on nothing that is strictly meant for the
BMC.

Change-Id: Iadbf0bd89c58cafc436fba05ea43e21c49e2b669
Signed-off-by: Patrick Venture <venture@google.com>

show more ...


12