History log of /openbmc/phosphor-bmc-code-mgmt/meson.build (Results 1 – 25 of 55)
Revision Date Author Comments
# 192bb5d9 27-Feb-2025 Alexander Hansen <alexander.hansen@9elements.com>

meson: apply meson format

since [1] was merged in openbmc-build-scripts, meson format is required
to pass CI.

References:
[1] https://gerrit.openbmc.org/c/openbmc/openbmc-build-scripts/+/77742

Cha

meson: apply meson format

since [1] was merged in openbmc-build-scripts, meson format is required
to pass CI.

References:
[1] https://gerrit.openbmc.org/c/openbmc/openbmc-build-scripts/+/77742

Change-Id: I66206066c41dd3d6225855d0530c72f5089a964b
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...


# cc372355 14-Jan-2025 Alexander Hansen <alexander.hansen@9elements.com>

fw update: common code

new daemons to implement the flow as described in
https://github.com/openbmc/docs/blob/master/designs/code-update.md

- common/
common code folder
- common update flow
-

fw update: common code

new daemons to implement the flow as described in
https://github.com/openbmc/docs/blob/master/designs/code-update.md

- common/
common code folder
- common update flow
- base class for the device specific update daemons

The new daemons are all following the generic template of Code Updater
daemon as outlined in the design.

The idea is that they are separate daemons (per device, as outlined in
the design) but share all the code that's not device specific.

Tested: next patch in series

Change-Id: If2438b8506aceb8c5313ec13a0bf7cb68f3cc279
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...


# ec807fcb 03-Feb-2025 Patrick Williams <patrick@stwcx.xyz>

meson: reformat with meson formatter

Apply the `meson format` results.

Change-Id: Ifc60fd8e7091d83202753a57f215667613f1691c
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>


# 00b3cae1 26-Nov-2024 Alexander Hansen <alexander.hansen@9elements.com>

fw update: pldm package parser

The code is taken from 'pldm' repo, but there is an ongoing effort to
make it part of libpldm [1].

The intent of this patch is to provide a few high-level functions t

fw update: pldm package parser

The code is taken from 'pldm' repo, but there is an ongoing effort to
make it part of libpldm [1].

The intent of this patch is to provide a few high-level functions to
parse a PLDM fw update package.

If/when the package parser is available in libpldm, this code can be
dropped.

References:
- [1] https://gerrit.openbmc.org/c/openbmc/libpldm/+/77095

Tested: next patch in series

Change-Id: I8212d88702e59d9d78965baf4e8c2243b8035b42
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...


# 88b98bf2 29-Jan-2025 Alexander Hansen <alexander.hansen@9elements.com>

fix: fw-update: make libpldm optional dependency

Only pull in the libpldm dependency if tests are enabled.

The only users of this dependency currently are in the tests.

Change-Id: I17759c536e32c4b

fix: fw-update: make libpldm optional dependency

Only pull in the libpldm dependency if tests are enabled.

The only users of this dependency currently are in the tests.

Change-Id: I17759c536e32c4b15af1f9afd0acde85efe4d3c4
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...


# 4a053c8e 26-Nov-2024 Alexander Hansen <alexander.hansen@9elements.com>

fw update: library to create pldm fw package

Implement some helper functions to easily create a pldm fw package in a
few lines of user code.

This is helpful for unit testing the code update flow.

fw update: library to create pldm fw package

Implement some helper functions to easily create a pldm fw package in a
few lines of user code.

This is helpful for unit testing the code update flow.

The package created is for testing purpose. The library is not
fully-featured or complete and should not be relied upon for anything
other than the tests in this repo.

https://github.com/openbmc/docs/blob/master/designs/code-update.md

Tested: next few patches in series

Change-Id: If899e5537a2e5ac641544ca80e8876d83549da28
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...


# cab87e9c 02-Jan-2025 Jagpal Singh Gill <paligill@gmail.com>

re-organize the current files into bmc directory

More daemons are being developed in phosphor-bmc-code-mgmt repo as part
of https://github.com/openbmc/docs/blob/master/designs/code-update.md.
For th

re-organize the current files into bmc directory

More daemons are being developed in phosphor-bmc-code-mgmt repo as part
of https://github.com/openbmc/docs/blob/master/designs/code-update.md.
For this move the current files for BMC code update into bmc
subdirectory for a better code organization.

Tested:
meson build passes.

Change-Id: I7b5575bcfbe54ac00aa803f94b5d8f6d69ce2f3f
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>

show more ...


# 58d6982c 12-Nov-2024 Jagpal Singh Gill <paligill@gmail.com>

disable service files for Updater and Version

Add the service files for Updater and Version manager only if the
software-update-dbus-interface meson option is disabled. These services
will be repla

disable service files for Updater and Version

Add the service files for Updater and Version manager only if the
software-update-dbus-interface meson option is disabled. These services
will be replaced by new Software.Manager service.

Tested -
```
> curl -k -H "X-Auth-Token: $token" -H "Content-Type:multipart/form-data" -X POST -F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/a79d71e4\"],\"@Redfish.OperationApplyTime\":\"OnReset\"};type=application/json" -F "UpdateFile=@obmc-phosphor-image-romulus-20241015174416.static.mtd.tar;type=application/octet-stream" https://${bmc}/redfish/v1/UpdateService/update
{
"@odata.id": "/redfish/v1/TaskService/Tasks/0",
"@odata.type": "#Task.v1_4_3.Task",
"Id": "0",
"TaskState": "Running",
"TaskStatus": "OK"
}

> systemctl status xyz.openbmc_project.Software.Manager
* xyz.openbmc_project.Software.Manager.service - Phosphor Software Manager
Loaded: loaded (/usr/lib/systemd/system/xyz.openbmc_project.Software.Manager.service; enabled; preset: enabled)
Active: active (running) since Thu 2024-11-14 00:54:43 UTC; 2min 8s ago
Process: 272 ExecStartPre=/bin/sh -c mkdir -p /tmp/images (code=exited, status=0/SUCCESS)
Main PID: 290 (phosphor-softwa)
CPU: 995ms
CGroup: /system.slice/xyz.openbmc_project.Software.Manager.service
`-290 /usr/bin/phosphor-software-manager

Nov 14 00:54:11 romulus systemd[1]: Starting Phosphor Software Manager...
Nov 14 00:54:22 romulus phosphor-software-manager[290]: Creating Software Manager
Nov 14 00:54:43 romulus systemd[1]: Started Phosphor Software Manager.

> systemctl status xyz.openbmc_project.Software.Version.service
* xyz.openbmc_project.Software.Version.service - Phosphor Version Software Manager
Loaded: loaded (/usr/lib/systemd/system/xyz.openbmc_project.Software.Version.service; enabled; preset: enabled)
Active: active (running) since Thu 2024-11-14 01:35:19 UTC; 38s ago
Process: 345 ExecStartPre=/bin/sh -c mkdir -p /tmp/images (code=exited, status=0/SUCCESS)
Main PID: 350 (phosphor-versio)
CPU: 391ms
CGroup: /system.slice/xyz.openbmc_project.Software.Version.service
`-350 /usr/bin/phosphor-version-software-manager

Nov 14 01:35:10 romulus systemd[1]: Starting Phosphor Version Software Manager...
Nov 14 01:35:19 romulus systemd[1]: Started Phosphor Version Software Manager.
> systemctl status xyz.openbmc_project.Software.BMC.Updater.service
* xyz.openbmc_project.Software.BMC.Updater.service - OpenBMC Software Update Manager
Loaded: loaded (/usr/lib/systemd/system/xyz.openbmc_project.Software.BMC.Updater.service; enabled; preset: enabled)
Drop-In: /usr/lib/systemd/system/xyz.openbmc_project.Software.BMC.Updater.service.d
`-software-bmc-updater.conf
Active: active (running) since Thu 2024-11-14 01:35:00 UTC; 1min 20s ago
Main PID: 271 (phosphor-image-)
CPU: 825ms
CGroup: /system.slice/xyz.openbmc_project.Software.BMC.Updater.service
`-271 /usr/bin/phosphor-image-updater

Nov 14 01:34:42 romulus systemd[1]: Starting OpenBMC Software Update Manager...

> systemctl status xyz.openbmc_project.Software.Manager.service
Unit xyz.openbmc_project.Software.Manager.service could not be found.
```

Change-Id: I67b40d18fce6e5a67d6fad9a5e3c7a0c74cd11aa
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>

show more ...


# e738f397 13-Aug-2024 Jagpal Singh Gill <paligill@gmail.com>

add build flag for software-update-dbus-interface

Change-Id: I8f84ab78b5b7d0930d0e34d840da2933bb30b5e7
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>


# 463917e1 27-Aug-2024 Adriana Kobylak <anoo@us.ibm.com>

Build update_manager.cpp by default

The update_manager is used to determine if the new code update API
should be used.

Tested: Verified the existing interfaces still worked.

Change-Id: I2f00e3c996

Build update_manager.cpp by default

The update_manager is used to determine if the new code update API
should be used.

Tested: Verified the existing interfaces still worked.

Change-Id: I2f00e3c996966bc904eb68b09acbd197421dc6a4
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>

show more ...


# 6d131aa7 08-Apr-2024 Jagpal Singh Gill <paligill@gmail.com>

start-update-interface: implement update manager

Implement the update manager module for the new daemon inheriting from
the Update D-Bus interface. Link with new interface APIs from
item_updater and

start-update-interface: implement update manager

Implement the update manager module for the new daemon inheriting from
the Update D-Bus interface. Link with new interface APIs from
item_updater and software utils. New daemon will continue to exist at
runtime alongwith old flow, until old flow is deprecated and removed.
This change is based on -
https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/65738
https://gerrit.openbmc.org/c/openbmc/docs/+/65739

Change-Id: I0ecbbb8fc5340de7f66f8870ae389b405a2debee
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>

show more ...


# 2431e7f6 08-Apr-2024 Jagpal Singh Gill <paligill@gmail.com>

start-update-interface: add software_utils

Refactor and move the common code into software_utils namespace. Add new
untar API which untars from a unix_fd. This change is based on -
https://gerrit.op

start-update-interface: add software_utils

Refactor and move the common code into software_utils namespace. Add new
untar API which untars from a unix_fd. This change is based on -
https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/65738
https://gerrit.openbmc.org/c/openbmc/docs/+/65739

Change-Id: Ifcbf78a06ef482ca7c7765efd5c24a533399b979
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>

show more ...


# cc49878d 29-Feb-2024 Jagpal Singh Gill <paligill@gmail.com>

start-update-interface: add the new app

Add the meson option for the start update D-Bus interface
implementation. Add the SoftwareManager new daemon to run in parallel
with existing code. The intent

start-update-interface: add the new app

Add the meson option for the start update D-Bus interface
implementation. Add the SoftwareManager new daemon to run in parallel
with existing code. The intention for new daemon is to combine
ImageManager and ItemUpdater into one. After due testing and
verifications ImageManager and ItemUpdater would be retired for
SoftwareManager. For more more details on design refer to -
https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/65738
https://gerrit.openbmc.org/c/openbmc/docs/+/65739

Change-Id: Id11823ca0ff62e76595aa4ad33212a2a2428c261
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>

show more ...


# fa34e22c 02-Apr-2024 Konstantin Aladyshev <aladyshev22@gmail.com>

meson: Add boost to the dependencies

Since the project uses boost library add it to meson dependencies.

Tested:
Local build no longer fails with a missing boost headers message on the
system withou

meson: Add boost to the dependencies

Since the project uses boost library add it to meson dependencies.

Tested:
Local build no longer fails with a missing boost headers message on the
system without boost, but fails at the "meson setup build" stage with
an appropriate message.

Change-Id: I165fb61cf72adadbb1f67d64e378f84b0256307f
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>

show more ...


# d2d57bb4 02-Apr-2024 Konstantin Aladyshev <aladyshev22@gmail.com>

meson: Fix local cereal build

Currently local build is failing with a message:
"""
cereal| Exception: Failed to configure the CMake subproject: Could NOT
find Boost (missing: Boost_INCLUDE_DIR seria

meson: Fix local cereal build

Currently local build is failing with a message:
"""
cereal| Exception: Failed to configure the CMake subproject: Could NOT
find Boost (missing: Boost_INCLUDE_DIR serialization)
Subproject subprojects/cereal is buildable: NO (disabling)
"""
Since cereal requires boost only for the sandbox build and this
functionality is not needed, add option to skip building performance
sandbox comparison to solve the issue.

Tested:
"meson setup build" no longer fails with the cereal error.

Change-Id: I3d5a6e02a10d853f6487806a4d04252e15d755ed
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>

show more ...


# 83d7d406 29-Nov-2023 Patrick Williams <patrick@stwcx.xyz>

build: use allowed over enabled

Meson feature options are typically in a tri-state of enabled, disabled,
or auto. The enabled and disabled functions on an option (from
`get_option`) no longer retur

build: use allowed over enabled

Meson feature options are typically in a tri-state of enabled, disabled,
or auto. The enabled and disabled functions on an option (from
`get_option`) no longer return true for auto features. Instead, the
expectation is to use `allowed()` which is true for both enabled and auto.

Switch all uses of `enabled` to `allowed`.

Change-Id: Iebfa27c0094b2001eb3f87fcfbbf209d803d2190
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 40405d92 15-Sep-2023 Konstantin Aladyshev <aladyshev22@gmail.com>

Remove check for the 'verify-full-signature' option

'verify-full-signature' option is a legacy option that was recently
dropped from the build configuration. Therefore the build system
shouldn't che

Remove check for the 'verify-full-signature' option

'verify-full-signature' option is a legacy option that was recently
dropped from the build configuration. Therefore the build system
shouldn't check it.

Change-Id: I3a8be29991bd50d074fcfd6aa9d61a8777e5694e
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>

show more ...


# 294991a2 19-Apr-2023 Konstantin Aladyshev <aladyshev22@gmail.com>

meson: Drop legacy 'verify-signature' option

Currently there are two options for the image signature verification:
- 'verify-signature' (legacy),
- 'verify-full-signature' (current).

Drop legacy op

meson: Drop legacy 'verify-signature' option

Currently there are two options for the image signature verification:
- 'verify-signature' (legacy),
- 'verify-full-signature' (current).

Drop legacy option and let the current one take its place.

Change-Id: Ia205424395179fd190e3d055159beca93cff0545
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>

show more ...


# 098a6771 01-Sep-2023 Patrick Williams <patrick@stwcx.xyz>

elog-errors: remove generated file

Since we use meson subprojects to build this repository outside of
Yocto, there is no need to carry along a pre-generated elog-errors
file anymore. Remove it and

elog-errors: remove generated file

Since we use meson subprojects to build this repository outside of
Yocto, there is no need to carry along a pre-generated elog-errors
file anymore. Remove it and ensure all code is using the real one
from phosphor-logging.

The Software.Image errors have been moved over to
phosphor-dbus-interfaces and can be used from there. Remove them from
this repository.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ic16fdef298361a878644e989b661f6312af8a0cb

show more ...


# b9ecb2bc 12-Jul-2023 Patrick Williams <patrick@stwcx.xyz>

build: upgrade to C++23

Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of
the standard has been implemented. Upgrade the build to leverage it.

Change-Id: I897133dfa2ee421145e54

build: upgrade to C++23

Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of
the standard has been implemented. Upgrade the build to leverage it.

Change-Id: I897133dfa2ee421145e541e6e4309a3c2fa60f2a
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# e80b5bcb 12-Apr-2023 Patrick Williams <patrick@stwcx.xyz>

meson: remove deprecated get_pkgconfig_variable

Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In
meson 0.58 the `get_variable` was enhanced to no longer require the
`pkgconfig

meson: remove deprecated get_pkgconfig_variable

Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In
meson 0.58 the `get_variable` was enhanced to no longer require the
`pkgconfig` keyword argument. Ensure meson 0.58 is required and update
the usage of all `get_pkgconfig_variable` and `get_variable` to be the
modern variant.

Change-Id: I46c094c1a1e4793556e93f9e5158bff7c6042cc4
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 87c5b5bd 15-Nov-2022 Lakshmi Yadlapati <lakshmiy@us.ibm.com>

u-boot mirroring support

Design is at the link below.
https://gerrit.openbmc.org/c/openbmc/docs/+/58025

Tested:
Tested all "Test Scenarios" specified in the design.

Signed-off-by: Lakshmi Yadlap

u-boot mirroring support

Design is at the link below.
https://gerrit.openbmc.org/c/openbmc/docs/+/58025

Tested:
Tested all "Test Scenarios" specified in the design.

Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com>
Change-Id: I064115ee1e966a0a1b3ce7ec246c1f88f0bd87f7

show more ...


# a8ebf962 17-Nov-2022 Patrick Williams <patrick@stwcx.xyz>

meson: remove oe-sdk support

Very few of our projects have this extra code and it doesn't seem
very useful considering we have both meson-subproject support and
developers can use devtool.

Signed-o

meson: remove oe-sdk support

Very few of our projects have this extra code and it doesn't seem
very useful considering we have both meson-subproject support and
developers can use devtool.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I41f8ba99600c04596b4fc37cc5b0ec00976d1e24

show more ...


# 70d72f8d 23-Mar-2022 Andrew Geissler <geissonator@yahoo.com>

side-switch: introduce new bmc update feature

This is the first commit in a series which will introduce a feature
within phosphor-bmc-code-mgmt that users can optionally install on their
systems to

side-switch: introduce new bmc update feature

This is the first commit in a series which will introduce a feature
within phosphor-bmc-code-mgmt that users can optionally install on their
systems to cause a side-switch boot.

A side-switch boot is a boot of a system in which the BMC detects that
the user has requested the alternate image on the flash chip be booted
from. The detection is done by looking at the available images, their
priorities, and the running image. If a higher priority image is
available on the non-running side, then it should be switched to. This
feature utilizes the one-time auto-power-on service to cause an
automatic boot of the system after the bmc side switch occurs.

At a high level, a service will be put into the obmc-host-start@.target
which runs before any other services in that target. It will launch the
executable being created in this series of commits. That application
will determine if a side switch is needed, and if so it will:
- Initiate and wait for a chassis power off of the system
- Set the one-time auto-power-on policy to AlwaysOn
- Issue a reboot to the BMC

But why did the user not just reboot the BMC themselves when they
installed the new image? There are use cases (at least on IBM systems)
where the user of the system wants to switch to the alternate image in
flash, but they want to defer that until someone reboots the BMC
manually OR the next time the user starts a boot of the system.

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I58a914ec2c3f3cf15ac41a02725e9a800dffcf30

show more ...


# 054bb0b8 15-Mar-2022 Justin Ledford <justinledford@google.com>

Add support for Inventory.Decorator.Compatible

This adds support for the compatibility strings interface described in
https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/yaml/xyz/openbmc

Add support for Inventory.Decorator.Compatible

This adds support for the compatibility strings interface described in
https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/yaml/xyz/openbmc_project/Software#compatibility.

The Version objects will now be created with the Inventory.Decorator.Compatible
interface with the compatibility names coming from the MANIFEST file.
e.g.
version=1.2.3
MachineName=foo
purpose=Other
ExtendedVersion=a.b.c
CompatibleName=foo.bar
CompatibleName=baz.bim

Tested:
$ busctl get-property xyz.openbmc_project.Software.Version \
/xyz/openbmc_project/software/517751da \
xyz.openbmc_project.Inventory.Decorator.Compatible Names
as 2 "foo.bar" "baz.bim"

Signed-off-by: Justin Ledford <justinledford@google.com>
Change-Id: I9ee36af2d3d1494d533a3b09c466a250c4fe786b

show more ...


123