背景
针对现有流程中厂商定制频繁(涉及DIMM、DRAM、NVMe、TPM、OS、Flash、SATA等,多为字符串修改且不影响功能)但需经华为BIOS重新发版导致的周期长、成本高痛点,客户诉求BMC侧新增BIOS兼容性配置文件导入与传递接口。该功能旨在让客户直接上传定制化配置,绕过冗长的BIOS版本迭代流程,从而缩短兼容性验证周期,降低研发与交付成本,快速响应市场需求。
关联ISSUE
暂无
整体方案
-
扩展ipmi接口命令字用于与BIOS交互传递配置文件内容。
-
新增Cli接口用于BIOS配置文件的导入、保存。
评审点
扩展IPMI 接口,用于传递 BIOS 兼容性配置文件。
详细描述
评审点1: IPMI 新增File Selector类型,30h表示获取BIOS兼容性配置文件
命令名称: Read File From BMC
命令说明: BIOS从BMC读取批量配置数据(BT超长帧)。
命令权限: ReadOnly
是否锁定之后可以访问: 是
是否有敏感数据: 否
命令样式:
● 请求:ipmitool raw 0x30 0x92 0xdb 0x07 0x00 0x0a 0x00 < file_selector > < operation > < offset > < lens >
● 响应:
命令请求参数:
| 字节顺序 | 域取值说明 |
|---|---|
| NetFn | 30h |
| Cmd | 92h |
| 1:3 | Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。 |
| 4 | SubCmd,固定为 0Ah |
| 5 | BIOS ID:预留给多host场景,单host场景固定填0 |
| 6 | File Selector |
| 00h-Display.ini | |
| 01h-Options.ini | |
| 2Ah-silkconfig.json | |
| 2Bh-new_secureboot.json | |
| 2Fh-电源信息查询,PsuInfo.json | |
| 30h-bios配置文件,biosconfig.json | |
| other-Reserved | |
| 备注:File Selector分配表参见表14-8的文件编码。 | |
| 7 | Operation: |
| 00h Read Prepare | |
| 01h Read Data | |
| 03h Read Finish | |
| (8:11) | Offset to Read,LSB First |
| 数据段相对于File开始位置的偏移。 | |
| 说明:本字段可选,仅当Operation为Read Data时需要提供本字段。 | |
| (12) | Read Length |
| 说明:本字段可选,仅当Operation为Read Data时需要提供本字段。 |
命令响应参数:
| 字节顺序 | 域取值说明 |
|---|---|
| 1 | Completion Code |
| 00h Command Completed Normally | |
| 80h Operation In Progress | |
| 当Prepare数据好没准备好时需要返回该错误码。 | |
| 此时发起端应该再次发起Prepare操作,直到返回00h完成码为止。 | |
| D5h Invalid Status | |
| 2:4 | Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。 |
| 5 | 7:1-Reserved |
| 1 - No More Data Flag | |
| 00h Still have data | |
| 01h No More Data | |
| 6 | 当Operation为Read Data时:File data最后1个字节为本段数据5:N-1的累加和。当Operation为Read Finish时:只有1个字节,返回本文件的累加和。约束条件为:总的IPMI命令长度不能超过254字节,也就是n不大于247(不包含checksum校验) |
命令示例:
样例1:读取BIOS配置文件内容
1、Read Prepare
● 请求:ipmitool raw 0x30 0x92 0xdb 0x07 0x00 0x0a 0x00 0x30 0x00
● 响应:db 07 00 00 07(data len) 00 00 00
2、Read Data
● 请求:ipmitool raw 0x30 0x92 0xdb 0x07 0x00 0x0a 0x00 0x30 0x01 0x00 0x00 0x00 0x00 0x07
● 响应:db 07 00 00
3、Read Finish
● 请求:ipmitool raw 0x30 0x92 0xdb 0x07 0x00 0x0a 0x00 0x30 0x03
● 响应:db 07 00 00
评审点2:新增 -t maintenance系统命令dataitem类别
使用说明:
Usage:iBMC:/->ipmcset -t maintenance
-d
biosconfig Importing BIOS configuration file
命令格式:
iBMC:/->ipmcset -t maintenance -d biosconfig -v
Usage: ipmcset -t maintenance -d biosconfig -v
Filepath e.g.:/tmp/biosconfig.json
回显内容:
成功回显:
iBMC:/->ipmcset -t maintenance -d biosconfig -v /tmp/ customconfig.json
Importing configuration successfully.
Reset OS for the BIOS config to take effect.
失败回显:
iBMC:/->ipmcset -t maintenance -d biosconfig -v /tmp/ customconfig.json
Failed to importing the configuration.
评审结论
评审点1:通过
同意IPMI 新增File Selector类型,30h表示获取BIOS兼容性配置文件
评审点2:通过
同意 新增 -t maintenance系统命令dataitem类别
遗留问题
(可选)列出评审会议现场无法直接给出明确结论的事务,会后确认清楚之后要在此处录入明确的结论,如不涉及,则可以写无或删除此部分。参考格式如下:(提交议题时删除此引导说明)
1、需要确认XXX
结论: