Skip to content

Latest commit

 

History

History
76 lines (60 loc) · 3.74 KB

README.md

File metadata and controls

76 lines (60 loc) · 3.74 KB

Description

This repo contains utilities to transfer SMBIOS tables from Host to BMC over IPMI BLOB protocol.

Two implementations are available:

BMC requirements

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"

Results

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:

CPU.png

And here is an example of DIMM information display:

DIMM.png

If you want to display PCI devices as well, you should probably check the IBM fork of webui-vue.