The SMBIOS specification includes an informative annex providing conformance guidelines for DMI table implementations. I would like to write a checker tool to verify the conformance of DMI tables, based on this document. Such a tool could be useful for system firmware writers.
We already have dmidecode which is able to locate and decode DMI tables. It should be fairly easy to reuse the same core and add an alternative structure parser, which would perform the checks instead of printing the decoded information.
There are different types of rules to follow. Some apply to the general structure of the table (being able to locate the table and walk through it without trouble.) Some apply to the data as a whole (for example: a given structure type can only be present once, or must be present at least once.) Some apply to the contents of individual structures (specific fields must be present, field values must meet certain conditions.) Implementing all categories may require multiple passes.
One thing to pay attention to is that different versions of the SMBIOS specification have different conformance guidelines.
This project is part of:
Hack Week 15
Activity
Comments
Be the first to comment!
Similar Projects
Add a machine-readable output to dmidecode by jdelvare
Description
There have been repeated requests for a machine-friendly dmidecode output over the last decade. During Hack Week 19, 5 years ago, I prepared the code to support alternative output formats, but didn't have the time to go further. Last year, Jiri Hnidek from Red Hat Linux posted a proof-of-concept implementation to add JSON output support. This is a fairly large pull request which needs to be carefully reviewed and tested.
Goals
Review Jiri's work and provide constructive feedback. Merge the code if acceptable. Evaluate the costs and benefits of using a library such as json-c.