| commit | 05d15a06fe6c3aed1a940b557d723921f912dc28 | [log] [tgz] |
|---|---|---|
| author | rajeeranjan <ranjan.rajeev1609@gmail.com> | Mon Jun 30 12:10:08 2025 +0530 |
| committer | Rajeev Ranjan <ranjan.rajeev1609@gmail.com> | Wed Oct 22 23:03:19 2025 +0530 |
| tree | db608925f8aab0b327efe82cd7be4ea15aa72c10 | |
| parent | c97dc12836f314d4c93e76d3ec465524c47dafc5 [diff] |
fw_update:Enable software object creation without EM
Previously, software objects were only created if Entity-Manager
provided an inventory path mapping. Without EM config, the function
would error out and no software object would be created.
This change introduces a fallback board path for platforms where
Entity-Manager is not configured or unavailable, allowing firmware
inventory to work independently of Entity-Manager.
Entity-Manager configuration may be missing in environments where EM
is not installed, disabled, or deliberately excluded—for example, in
minimal or custom OpenBMC/PLDM deployments.
Tested: Software objects created successfully without EM configs on B40.
'''
root@gb200nvl-obmc:/tmp# busctl tree xyz.openbmc_project.PLDM
`- /xyz
`- /xyz/openbmc_project
|- /xyz/openbmc_project/inventory
|- /xyz/openbmc_project/pldm
|- /xyz/openbmc_project/sensors
`- /xyz/openbmc_project/software
|- /xyz/openbmc_project/software/PLDM_Device_Firmware_Device_12_Component_65282_ffdfb9c8
|- /xyz/openbmc_project/software/PLDM_Device_Firmware_Device_13_Component_49152_3986fd47
`- /xyz/openbmc_project/software/PLDM_Device_Firmware_Device_13_Component_49168_d9f7864f
'''
Change-Id: I71deedf355c199c704947d7089262201e3b289fe
Signed-off-by: Rajeev Ranjan <ranjan.rajeev1609@gmail.com>
Signed-off-by: Unive Tien <unive.tien.wiwynn@gmail.com>
PLDM (Platform Level Data Model) is a key component of the OpenBMC project, providing a standardized data model and message formats for various platform management functionalities. It defines a method to manage, monitor, and control the firmware and hardware of a system.
The OpenBMC PLDM project aims to implement the specifications defined by the Distributed Management Task Force (DMTF), allowing for interoperable management interfaces across different hardware and firmware components.
To build and run PLDM, you need the following dependencies:
MesonNinjaAlternatively, source an OpenBMC ARM/x86 SDK.
To build the PLDM project, follow these steps:
meson setup build && meson compile -C build
The simplest way of running the tests is as described by the meson man page:
meson test -C build
Alternatively, tests can be run in the OpenBMC CI docker container using these steps.
pldm daemon accepts a command line argument --verbose or --v or -v to enable the daemon to run in verbose mode. It can be done via adding this option to the environment file that pldm service consumes.
echo 'PLDMD_ARGS="--verbose"' > /etc/default/pldmd systemctl restart pldmd
rm /etc/default/pldmd systemctl restart pldmd
For complete documentation on the functionality and usage of this repository, please refer to the docs folder.