This repo contains utilities to transfer SMBIOS tables from Host to BMC over IPMI BLOB protocol.
Two implementations are available:
BMC firmware should be based on the openbmc distribution.
You need to add smbios-mdr and phosphor-ipmi-blobs packages to the image.
Besides that you'll need to append the smbios-mdr recipe (recipes-phosphor/smbios/smbios-mdr_git.bbappend) with the following content:
PACKAGECONFIG:append = " smbios-ipmi-blob" PACKAGECONFIG:remove = " cpuinfo" After the successful transfer of SMBIOS tables you can check out the objects created by the xyz.openbmc_project.Smbios.MDR_V2 service:
root@daytonax:~# busctl tree xyz.openbmc_project.Smbios.MDR_V2 `-/xyz `-/xyz/openbmc_project |-/xyz/openbmc_project/Smbios | `-/xyz/openbmc_project/Smbios/MDR_V2 `-/xyz/openbmc_project/inventory `-/xyz/openbmc_project/inventory/system `-/xyz/openbmc_project/inventory/system/chassis `-/xyz/openbmc_project/inventory/system/chassis/motherboard |-/xyz/openbmc_project/inventory/system/chassis/motherboard/bios |-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2 `-/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3 Currently smbios-mdr parses only these types of SMBIOS tables (specification):
- BIOS Information (Type 0)
- System Information (Type 1)
- Processor Information (Type 4)
- System Slots (Type 9)
- Memory Device (Type 17)
Here is an example how webui-vue can display the CPU information:
And here is an example of DIMM information display:
If you want to display PCI devices as well, you should probably check the IBM fork of webui-vue.

