openbmc / intel-ipmi-oem

Other
17 stars 13 forks source link

How to send the SMBIOS table from BIOS to BMC when BIOS is booting? #8

Open OguzhanCaglar opened 2 years ago

OguzhanCaglar commented 2 years ago

Can the BMC query the SMBIOS table to BIOS? I examined the intel-ipmi-oem commands but I don't know how can BIOS send the SMBIOS table when it is booting? I successfully send the SMBIOS table using smbios_transfer.go command from u-root. However, I don't know about this issue? Can anyone explain this to me?

MrDullDev commented 1 year ago

Not sure how this specific thing does this(since i am currently trying it out as well), but you may wanna look at https://github.com/Kostr/smbios_blob_transfer , with this you can build(or use prebuilt binary\fs image) a efi driver to do just that. Keep in mind that this is UEFI\EFI specific solution(it doesn`t matter what "boot option" you selected, all that matters that your host firmware is based on EFI). On a side note, if your SMBios table comes out malformed(like missing cpu info) try messing with the DXE dependancy section, it pretty much defines after what your driver will be loaded(also you might wanna patch out the version check in smbios-mdr if you ever get errors about not supported version, because it was bugged for).

Also you might be interested in this https://github.com/Kostr/pcie_blob_transfer/tree/master , it helps transfering information about PCIe devices the same way.