61c1a8aa | 05-Dec-2024 |
Adriana Kobylak <anoo@us.ibm.com> |
Add the new Software.Manager to service dependencies
Remove the Wants dependencies to the old code update service, these services start by default. Add Before/After dependencies on the new Software.
Add the new Software.Manager to service dependencies
Remove the Wants dependencies to the old code update service, these services start by default. Add Before/After dependencies on the new Software.Manager service to support both the old and the new flow.
Change-Id: I4669e2ef89ab4d8e292c1add3c8b87bb640b5583 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
fc33ba86 | 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: I2b9626d95674508bb090745de6471fe2755c89fd Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
1e9a5f1a | 23-Aug-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: use non-deprecated namespaces
The sdbusplus repository has deprecated some namespaces and they are currently only enabled with the SDBUSPP_REMOVE_DEPRECATED_NAMESPACE guard. Switch to the
sdbus++: use non-deprecated namespaces
The sdbusplus repository has deprecated some namespaces and they are currently only enabled with the SDBUSPP_REMOVE_DEPRECATED_NAMESPACE guard. Switch to the new namespace names.
Change-Id: Iaab6df118eb4dc65139e759dcb22851422f88389 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
d5e8e73b | 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I50e60f2b1a9db9039cb5450ae509064eaeaa9d2e Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
bf2bb2b1 | 22-Jul-2022 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are for: * bus_t * exception_t * manager_t * match_t * message_t * object_t * slot_t
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I96286490697ce5d7fecc1c9c358f5f1d054137ec
show more ...
|
25773a7e | 21-Jan-2022 |
Adriana Kobylak <anoo@us.ibm.com> |
Use flash id to write image to flash
Update the item updater helper functions to take the flash id instead of the version id since flash id is the name of the volumes/partitions.
The flash id was b
Use flash id to write image to flash
Update the item updater helper functions to take the flash id instead of the version id since flash id is the name of the volumes/partitions.
The flash id was being persisted for the mmc layout with the name of "partlabel". This is not needed anymore since the flash id is now being passed by the service files.
The write functions/service files still use the version id to know where the image files are located in /tmp/. They then set the value of flash id (Path property) which is then used by the other functions such as Delete and setting the u-boot environment variables.
Tested: Code update and Delete functions work on ubi and mmc.
Change-Id: I87c5b8ae2e24af30256dc3b436859835f14cda05 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
4ce901c5 | 02-Sep-2021 |
Patrick Williams <patrick@stwcx.xyz> |
exception: switch to public sdbus exception
SdBusError was intended to be a private error type inside sdbusplus. Switch all catch locations to use the general sdbusplus::exception type.
Signed-off-
exception: switch to public sdbus exception
SdBusError was intended to be a private error type inside sdbusplus. Switch all catch locations to use the general sdbusplus::exception type.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I25679cac0b64183f7b8508edb21609d64334e319
show more ...
|
2af0fdfb | 01-Sep-2021 |
Adriana Kobylak <anoo@us.ibm.com> |
ubi: Fix log typo
Change-Id: Iee15ac756149bfc34d92b7b7da85ced205baabd6 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com> |
c9bb6425 | 27-Aug-2021 |
Patrick Williams <patrick@stwcx.xyz> |
logging: switch to lg2
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id62fbc10ab83a0cf94d235e1d1ea3e031295fbf5 |
56ec62e2 | 20-Jan-2021 |
Adriana Kobylak <anoo@us.ibm.com> |
reset: Call execute() instead of systemd service
The obmc-flash-bmc-setenv@.service file calls a script that runs the fw_setenv command. Call the fw_setenv command directly as an effort to move away
reset: Call execute() instead of systemd service
The obmc-flash-bmc-setenv@.service file calls a script that runs the fw_setenv command. Call the fw_setenv command directly as an effort to move away from systemd service calls which are async calls and are harder to monitor for completion.
The only difference is that the script calls fw_setenv twice because for certain variables such as field mode, the code parses the actual environment file to get the value, and if the system supports a redundant environment, then fw_setenv is needed to be called twice so that the updated value is reflected in both redundant copies and the code parses the value correctly.
Factory reset is not a value that is parsed by this code, so a single call is enough.
Tested: Verified in witherspoon that the rwreset environment variable was set and factory reset occurred upon reboot.
Change-Id: I76691b1c8c78aa9232074d10d435a3e944b1cd9a Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
436be816 | 17-Jun-2020 |
Adriana Kobylak <anoo@us.ibm.com> |
build: Rename .service files to service.in
Rename the .service files to .service.in to allow service files to support config variable substitution. Ex, this line in .in: ExecStart=/usr/bin/obmc-fl
build: Rename .service files to service.in
Rename the .service files to .service.in to allow service files to support config variable substitution. Ex, this line in .in: ExecStart=/usr/bin/obmc-flash-bmc ubiro @IMG_UPLOAD_DIR@ would become this in .service file: ExecStart=/usr/bin/obmc-flash-bmc ubiro "/tmp/images"
This allows the service files to use the user defined config values instead of making assumptions that the default is used.
This commit only renames the service files. The subsequent commit will make use of this feature.
In addition, the subdir meson.build files were deleted with this commit. The reason is that the service files need to be moved to the main meson.build to be able to read the conf file, and without the service files, the subdir meson.build files are just a couple lines long so there's not really a reason to have a separate meson.build file.
Tested: Verified the service files were installed as before.
Change-Id: I29190d1f0664352fbee8a0ada9de959fd0269d6e Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
5a43b373 | 06-May-2020 |
Adriana Kobylak <anoo@us.ibm.com> |
meson: build: Remove automake files and update READMEs
Tested: Ran CI and code update on witherspoon.
Change-Id: I4d9695cdddf48e4a4d884fb9b8e30108ee6dfe6c Signed-off-by: Adriana Kobylak <anoo@us.ib
meson: build: Remove automake files and update READMEs
Tested: Ran CI and code update on witherspoon.
Change-Id: I4d9695cdddf48e4a4d884fb9b8e30108ee6dfe6c Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
b824b2f4 | 14-May-2020 |
Adriana Kobylak <anoo@us.ibm.com> |
activation: Make activation flow common
The activation flow has a lot of duplicate code such as checking the digital signatures and creating associations, with a few differences depending on the cho
activation: Make activation flow common
The activation flow has a lot of duplicate code such as checking the digital signatures and creating associations, with a few differences depending on the choice of bmc layout configuration.
This makes the code hard to maintain since changes and additions to the activation flow need to be done on more than one place, and also the function becomes bigger and harder to follow. This would be made worse when additional layout supports are added such as eMMC code update support.
Make the flow common and move the specific code to its subdirectory. This requires create a new function to handle the end of the update so that we support implementations that are async (need to wait for systemd service files to finish).
Still need an if/else statement to differentiate the implementations that are synchronous like the static layout and the async ones like the ubi layout since the async ones have the flash write function return immediately and can call the flash write success later on, for the sync ones need to set the activation value to Active after calling flash write success: Async (ubi): activation(Activating) flashWrite() return Activating onFlashWriteSuccess() activation(Active)
Synchronous (static): activation(Activating) flashWrite() onFlashWriteSuccess() activation(Active) return Active
By making the code common, the static layout gains some additional features which may not be of consequence due to the short duration of the update, but does not hurt and allow us to remove the if/else blocks: - Progress interface - Blocks transition interface - Updatable association before reboot is done
The static layout will also subscribe to systemd signals even though they're not used, but again this is to keep the code as common as possible.
Tested: Verified code update worked and expected d-bus interfaces and values were set during ubi and static update.
Change-Id: I20a0b752fe3905cca5b6220c88f65eb64d155d75 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
29a0d90b | 05-May-2020 |
Adriana Kobylak <anoo@us.ibm.com> |
meson: build: Install systemd unit files
Tested: Verified the expected systemd service files were installed with -Dhost-bios-upgrade=enabled and -Dbmc-layout=ubi
Change-Id: I1a46dc3916da208
meson: build: Install systemd unit files
Tested: Verified the expected systemd service files were installed with -Dhost-bios-upgrade=enabled and -Dbmc-layout=ubi
Change-Id: I1a46dc3916da208ded9c07af60d7e6856d1fa0ee Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
e0aa780b | 05-May-2020 |
Adriana Kobylak <anoo@us.ibm.com> |
meson: build: Generate binaries
Change-Id: I226e7f34538ac42cb331cdce8fdab1646e23d156 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com> |
0d7198f4 | 18-Nov-2019 |
Bright Cheng <bright_cheng@wiwynn.com> |
Add checking ApplyTime for static layout
Add a check for static BMC whether auto reboot to apply update or not.
Tested: Verified with setting ApplyTime to Immediate and using obmc-phosphor-
Add checking ApplyTime for static layout
Add a check for static BMC whether auto reboot to apply update or not.
Tested: Verified with setting ApplyTime to Immediate and using obmc-phosphor-image-<platorm>-<timestamp>.static.mtd.all.tar, and BMC code update works fine.
Change-Id: I13b77b783746b083e09d96757ad7868fe7660fe3 Signed-off-by: Bright Cheng <bright_cheng@wiwynn.com>
show more ...
|
22848ece | 28-Oct-2019 |
Adriana Kobylak <anoo@us.ibm.com> |
Move function to enable field mode to common code
The only different between ubi and static layout for setting field mode was masking the usr-local.mount service file. Now that the service file is i
Move function to enable field mode to common code
The only different between ubi and static layout for setting field mode was masking the usr-local.mount service file. Now that the service file is in the common code, it makes sense to move the function to the common code.
Tested: - Witherspoon: Verified setting field mode disabled the /usr/local mount as it currently does. - Romulus: Verified that after setting the field mode, the usr-local.mount service file could not be started because it's masked.
Change-Id: I8afb755366053c38f72d682e874308c42e232d98 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
375547c6 | 25-Oct-2019 |
Adriana Kobylak <anoo@us.ibm.com> |
Move usr-local.mount to common code
The usr-local.mount service is intended to be a directory to patch firmware. It currently resides under the ubi feature because there the filesystem is mounted re
Move usr-local.mount to common code
The usr-local.mount service is intended to be a directory to patch firmware. It currently resides under the ubi feature because there the filesystem is mounted read-only, whereas in the static layout the root filesystem is mounted on a read-write overlay.
But this service file is not tied to a ubi filesystem, for example the static layout could be changed to not have an overlay over root, or a emmc chip would not be formatted as ubi, but would benefit from this patch directory.
The only current user of this mount service file is the virtual pnor implementation (openpower-pnor-code-mgmt), which a bmc not formatted as ubi could choose to use. Therefore move the service to the common code.
Tested: - Witherspoon: Verified service is still in the image and was started successfully by the pnor updater. - Romulus: Verified the service is in the image, but does not start because it doesn't have the virtual pnor feature. But calling 'systemctl start usr-local.mount' mounts the directory successfully.
Change-Id: I40d405e0a73f011a3c4de17cdddd8caace80587f Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
a013560f | 22-Apr-2019 |
Jayashankar Padath <jayashankar.padath@in.ibm.com> |
Code Update: ApplyTime software manager support
Get the requested image apply time value provided through the UpdateService redfish schema. If the apply time value is Immediate, then BMC reboot will
Code Update: ApplyTime software manager support
Get the requested image apply time value provided through the UpdateService redfish schema. If the apply time value is Immediate, then BMC reboot will be triggered just after the new image activation. The default apply time value is OnReset in which the new image remains at Active state and user has to manualy reboot the BMC for applying the new image.
Tested: Verified that BMC is getting rebooted if the apply time value is Immediate. OnReset scenario was also tested in which new image remained at Active state as code update application did not trigger the BMC reboot.
Signed-off-by: Jayashankar Padath <jayashankar.padath@in.ibm.com> Change-Id: I5efb51f7f36e196d6113cfca6d37c8c6bef70aa2
show more ...
|
9cbfa2ef | 25-Apr-2019 |
Adriana Kobylak <anoo@us.ibm.com> |
Move script, systemd conf, service files into repo
Move the common scripts, systemd configuration and service files from openbmc/openbmc to the local one.
Tested: The moved files are installed in t
Move script, systemd conf, service files into repo
Move the common scripts, systemd configuration and service files from openbmc/openbmc to the local one.
Tested: The moved files are installed in their respective locations and code update on Witherspoon is successful.
Change-Id: I2dc435db49dfbaf6e0a97cb58a9678c3462d1528 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
a8eb7810 | 23-Apr-2019 |
Adriana Kobylak <anoo@us.ibm.com> |
Move UBI service files into repo
Move the service files for the UBI layout from the openbmc/openbmc repo to the local one.
Tested: The service files are installed in /lib/systemd/system/ and
Move UBI service files into repo
Move the service files for the UBI layout from the openbmc/openbmc repo to the local one.
Tested: The service files are installed in /lib/systemd/system/ and code update on Witherspoon is successful.
Change-Id: I988045886fadbd2216ca91aba952a40ca1228e33 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
3b6a4cd7 | 10-Dec-2018 |
Adriana Kobylak <anoo@us.ibm.com> |
Remove deprecated is_method_error code
The is_method_error() function is no longer needed, instead a try-catch block should be used instead. Reference: https://lists.ozlabs.org/pipermail/openbmc/201
Remove deprecated is_method_error code
The is_method_error() function is no longer needed, instead a try-catch block should be used instead. Reference: https://lists.ozlabs.org/pipermail/openbmc/2018-October/013696.html,
Change-Id: I1919ea33fc18be2b8afd51fb1f85ddef15041e7c Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
b0ce996a | 07-Sep-2018 |
Gunnar Mills <gmills@us.ibm.com> |
clang-format: Update to match docs repo
Update the .clang-format file. Now includes header sorting and updating PointerAlignment.
Change-Id: I5c7690d8d83cdebe26ff3a73b90a2a8c17dd8054 Signed-off-by:
clang-format: Update to match docs repo
Update the .clang-format file. Now includes header sorting and updating PointerAlignment.
Change-Id: I5c7690d8d83cdebe26ff3a73b90a2a8c17dd8054 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
fa34e023 | 04-Sep-2018 |
Gunnar Mills <gmills@us.ibm.com> |
Clang 6 updates
Just some minor fixes.
Change-Id: I000c456e51c62220d7a5fed8100cfc6c13ef9551 Signed-off-by: Gunnar Mills <gmills@us.ibm.com> |
bbcb7be1 | 17-Jul-2018 |
Adriana Kobylak <anoo@us.ibm.com> |
Move setting the priority U-Boot variable to ubi
The service that sets the priority value is unique to the ubi layout because there is only one version at a time on the static layout. Move the calli
Move setting the priority U-Boot variable to ubi
The service that sets the priority value is unique to the ubi layout because there is only one version at a time on the static layout. Move the calling of the service to the ubi implementation.
Tested: - Witherspoon: Priorities are still set. - Romulus: The BMC.Updater app does not core dump with the latest sdbusplus changes due to calling a non-existent service.
Change-Id: Ica1c68f00d5cb43c51ee09c5a3851613edf941d5 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|