【问题标题】:update SMBIOS tables更新 SMBIOS 表
【发布时间】:2021-07-13 20:17:54
【问题描述】:

是否有更新 SMBIOS 表、添加新变量的标准方法?

例如,如果我想更改诸如“主板名称”之类的变量,或者更一般地,在表中添加一个新条目来定义自定义结构和值,那么实现这一点的标准方法是什么,所以我可以用 dmidecode、/sys/class/dmi 或 libsmbios 查询这个值吗?

显然,主板制造商有工具可以更改 SMBIOS 表中的此类值,并且可以从操作系统以标准方式访问这些值。

/sys/firmware/dmi/tables 接口似乎是只读的。可以写入 /dev/mem 下的相应区域(使用 smbios_entry_point)以添加新条目吗?

是否有另一种标准和现代方式来保存此类(自定义)硬件信息,以避免直接查询硬件组件?来自 UEFI?

【问题讨论】:

    标签: bios uefi


    【解决方案1】:

    COM Express® 模块有这样一个选项。 PICMG 规范描述了载板上可以保存 SMBIOS 数据的 EEPROM。看看以下规格: https://www.picmg.org/wp-content/uploads/PICMG_EeeP_R1_0.pdf 更新 EEPROM 的源代码在:https://sourceforge.net/projects/eapidk/

    但在 COM Express® Carrier Design Guide https://www.picmg.org/wp-content/uploads/PICMG_COMDG_2.0-RELEASED-2013-12-06.pdf 中有以下声明

    EEPROM 存储载板系统的配置信息。数据 使用的结构在 PICMG EEEP 规范中定义。规范建议但 不需要使用此系统配置 EEPROM。模块 BIOS 可能会检查 载板配置 EEPROM,但规范不要求这样做。

    这允许 BIOS/固件供应商跳过此 EEPROM。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2019-01-27
    • 2019-10-15
    • 2016-04-04
    • 2013-09-02
    • 2018-01-01
    • 1970-01-01
    • 2016-11-28
    • 2020-06-28
    • 2021-06-10
    相关资源
    最近更新 更多