libmctp / libpldm / pldmtool

Andrew Jeffery andrew at codeconstruct.com.au
Fri Sep 13 11:27:33 AEST 2024


Hello,

On Thu, 2024-09-12 at 19:48 +0000, Ananth, Rajesh wrote:
> Hi,
> 
> After I do the "bitbake obmc-phosphor-image"  I am not able to see "libmctp / libpldm / pldmtool" getting installed.
> 
> I do see that these are present under "meta-phosphor/recipes-phosphor".

Unfortunately, just because the recipes exist, does not mean that the
libraries/tools will appear in your rootfs. Some work is required to
have them included in your build.

> 
> In my build environment, I see these:
> 
> rajesh at bld-ub20s-openbmc:~/openbmc-portwell/openbmc-pcomc660-v2.2.0/build/pcomc660-ast2600$ find . -name pldmtool

This platform doesn't appear to be upstream so we don't really have any
information on how it's configured and whether the artefacts should be
included.

> ./tmp/deploy/licenses/pldmtool
> ./tmp/deploy/licenses/armv7ahf-vfpv4d16/pldmtool
> ./tmp/log/cleanlogs/pldmtool
> ./tmp/stamps/armv7ahf-vfpv4d16-openbmc-linux-gnueabi/pldmtool
> ./tmp/work/armv7ahf-vfpv4d16-openbmc-linux-gnueabi/pldmtool
> ./tmp/work/armv7ahf-vfpv4d16-openbmc-linux-gnueabi/pldmtool/1.0/license-destdir/pldmtool
> ./tmp/work/armv7ahf-vfpv4d16-openbmc-linux-gnueabi/pldmtool/1.0/license-destdir/armv7ahf-vfpv4d16/pldmtool
> 
> In my build environment, I expected something under ".../bin/". The bb files are as is from the openbmc git.
> In the package generated, I am not seeing the pldmtool and the other associated libraries installed. Am I doing something wrong?

Likely :)

A further point is that libmctp is very likely not what you need. It's
an implementation of a full MCTP stack, which can either run in hosted
(userspace) or freestanding software (firmware, operating systems,
etc). While OpenBMC has historically used libmctp, it is considered
legacy for OpenBMC purposes, and you should use the AF_MCTP sockets
provided by Linux instead.

You can find more information on the Linux MCTP stack here:

https://codeconstruct.com.au/docs/mctp-on-linux-introduction/

libpldm and OpenBMC's PLDM daemon together use the AF_MCTP socket
transport for Linux, and this is the supported way to implement MCTP
and PLDM in OpenBMC.

You can integrate the supported MCTP and PLDM stack into your image by
adding `require conf/distro/include/pldm.inc` to your platform's
bitbake configuration.

Andrew


More information about the openbmc mailing list