commit | 06b1dbe9c768adf8921e4c1cb915538486b5a7ca | [log] [tgz] |
---|---|---|
author | Potin Lai <potin.lai@quantatw.com> | Mon Sep 16 15:09:06 2024 +0800 |
committer | Potin Lai <potin.lai@quantatw.com> | Sun Oct 20 00:12:25 2024 +0800 |
tree | 175abb81066200e68b64c740a22bc942165c4c4d | |
parent | 9c2e871da99ce5cb7477ffbe3518ad9c2bc2da8a [diff] |
Change primary postcode interface to byte array Test results: ``` root@bmc:~# busctl call xyz.openbmc_project.State.Boot.PostCode0 /xyz/openbmc_project/State/Boot/PostCode0 xyz.openbmc_project.State.Boot.PostCode GetPostCodes q 1 -j { "type" : "a(ayay)", "data" : [ [ [ [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ], [] ], [ [ 17, 18, 19, 20, 21, 22, 23, 24, 25 ], [] ], [ [ 33, 34, 35, 36, 37, 38, 39, 40, 41 ], [] ] ] ] } ``` Change-Id: I81387df590c2c6781451c6dbcc030d48ca011eb6 Signed-off-by: Potin Lai <potin.lai@quantatw.com>
This phosphor-post-code-manager repository provides an infrastructure to persist the POST codes in BMC filesystem & it also owns the systemd services that are responsible for exposing the BIOS Post Codes to rest of the world via redfish.
To build phosphor-post-code-manager package , do the following steps:
meson <build directory> ninja -C <build directory>
This repository ships xyz.openbmc_project.State.Boot.PostCode.service
systemd service along with its template version and a tiny binary that exposes the necessary dbus interfaces & methods to extract the POST codes per boot cycle.
This repository is tightly coupled with phosphor-host-postd OpenBMC repository which is responsible for emitting the dbus signals for every new POST Code.
phosphor-post-code-manager is architected to look for the property changed signals which are being emitted from the service that hosts Value property on xyz.openbmc_project.State.Boot.Raw
interface & archive them per boot on the filesystem, so that those can be exposed over redfish