bios
版本信息
| 项目 | 内容 |
|---|---|
| 组件版本 | 1.110.6 |
| 首发版本 | 1.70.30 |
| 文档作者 | openUBMC |
| 最后更新 | 2026-05-18 |
1. 组件概述
1.1 组件简介
bios组件是OpenUBMC系统中的BIOS管理组件,主要负责与BIOS带内交互,实现BIOS配置、证书、升级和PFR(Platform Firmware Resilience)自愈等功能。
1.2 解决什么问题
BIOS组件为使用者解决以下核心问题:
- BIOS固件升级:支持普通升级、无感升级、装备升级等多种模式
- BIOS配置管理:支持配置导入导出、启动项设置、启动模式配置
- BIOS证书管理:支持安全启动证书、HTTPS启动证书的管理
- PFR自愈:确保BIOS固件完整性和可恢复性,防止恶意篡改
1.3 核心功能
- 核心功能一:BIOS升级 - 支持普通升级、无感升级、teeos升级、krun升级等多种升级模式
- 核心功能二:BIOS配置导入导出 - 支持bios配置导入导出,启动项、启动模式设置,无感升级策略重配
- 核心功能三:BIOS证书管理 - 支持bios启动证书、安全启动证书、吊销证书管理
- 核心功能四:PFR自愈功能 - BIOS镜像校验,确保固件完整性和可恢复性
1.4 关键术语表
| 术语 | 解释 |
|---|---|
| 装备升级 | 打包manufacture文件夹的升级模式,会执行强制上下电 |
| 无感升级 | 通过ipmb通道将固件传到imu,实现在线升级 |
| 普通升级 | 非装备包的升级模式,可选择缓存生效或下电生效 |
| 补丁包 | 版本包含HPxxxx的升级包,用于无感升级 |
| PFR | Platform Firmware Resilience,平台固件韧性,保证固件完整性和可恢复性 |
| CMS签名 | 用于校验BIOS固件完整性的数字签名 |
1.5 外部交互边界图
- pcie_device:订阅PcieAddrInfo对象的ReadyToEnumerate属性变化,更新PcieAddrInfo对象的SlotId、SocketId、Segment等丝印属性,为BIOS提供丝印文件数据。
- IMU(带内):向IMU查询无感升级策略重配相关配置文件。
- BIOS(带内):BIOS启动阶段想带内提供丝印文件等信息,获取SMBIOS、BDF等信息。
- FruCtrl:BIOS预上电时加上电锁进行pfr校验,BIOS启动过程中给BMC加重启锁防止交互异常。
2. API 使用说明与示例
2.1 BIOS升级相关接口
/bmc/kepler/Systems/${SystemId}/BiosUpgradeService - ActivateFirmware
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/BiosUpgradeService |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| ComponentIds | 输入 | as | 组件ID列表 | 可包含IMU、IMP、SCC |
返回值与异常
应用场景
执行无感升级后,激活新版本的BIOS固件。
限制条件
需要是可生效固件,必须先执行过无感升级。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/BiosUpgradeService bmc.kepler.Systems.BiosUpgradeService ActivateFirmware a{ss}as 0 1 "None"
/bmc/kepler/Systems/${SystemId}/BiosUpgradeService - ExportBiosFirmware
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/BiosUpgradeService |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| TaskId | 返回任务Id | Bios固件导出 | 无 |
应用场景
导出当前BIOS固件。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/BiosUpgradeService bmc.kepler.Systems.BiosUpgradeService ExportBiosFirmware a{ss} 0
2.2 BIOS配置相关接口
/bmc/kepler/Systems/${SystemId}/Bios - ImportBiosSetup
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/Bios |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| FileType | 输入 | s | 导入文件类型 | PolicyConfig, Setting, Webconfig |
| Content | 输入 | s | 导入文件内容 | 导入文件内容 |
返回值与异常
应用场景
导入BIOS配置,包括配置标准文件验证和依赖关系校验。
限制条件
导入配置必须符合格式和BIOS依赖关系。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/Bios bmc.kepler.Systems.Bios ImportBiosSetup a{ss}ss 3 Interface "Setting" "{}"
/bmc/kepler/Systems/${SystemId}/Bios - ExportBiosSetup
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/Bios |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| FileType | 输入 | s | 导出文件类型 | WebConfig, PolicyConfigJson, PolicyRegisteryJson, ComponentVersion |
返回值与异常
应用场景
导出当前BIOS配置。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/Bios bmc.kepler.Systems.Bios ExportBiosSetup a{ss}s 0 "Setting"
/bmc/kepler/Systems/${SystemId}/Bios - GetCurrentValueSetting
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/Bios |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| ReqKey | 输入 | s | 属性名称 | BIOS配置属性名 |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| RespValue | 属性当前配置的值 | 获取成功 | 无 |
应用场景
获取指定BIOS配置属性的当前值。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/Bios bmc.kepler.Systems.Bios GetCurrentValueSetting a{ss}s 0 "NetworkProtocol"
/bmc/kepler/Systems/${SystemId}/Bios - ChangePassword
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/Bios |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| PasswordType | 输入 | s | 密码类型 | 管理员或者普通用户 |
| OldPassword | 输入 | s | 旧密码 | 正确的旧密码 |
| NewPassword | 输入 | s | 新密码 | 符合校验规则的新密码 |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| Result | 修改结果,失败:-1,成功:0 | 密码修改 | 无 |
应用场景
修改BIOS密码。
限制条件
旧密码必须正确,新密码必须符合BIOS密码校验规则。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/Bios bmc.kepler.Systems.Bios ChangePassword a{ss}sss 0 "Supervisor" "Admin@9000" "Admin@90000"
/bmc/kepler/Systems/${SystemId}/Bios - ClearCmos
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/Bios |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
应用场景
清除BIOS配置信息(CMOS)。
限制条件
需要用户配置权限。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/Bios bmc.kepler.Systems.Bios ClearCmos a{ss} 0
/bmc/kepler/Systems/${SystemId}/Bios - ResetSetupConfig
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/Bios |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
应用场景
清除BIOS待生效配置。
限制条件
需要用户配置权限。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/Bios bmc.kepler.Systems.Bios ResetSetupConfig a{ss} 0
/bmc/kepler/Systems/${SystemId}/Bios - SetBiosLogEnabled
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/Bios |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| Enabled | 输入 | y | 日志开关 | 0表示关闭,1表示开启 |
应用场景
设置BIOS日志全打印开关。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/Bios bmc.kepler.Systems.Bios SetBiosLogEnabled a{ss}y 0 0
2.3 启动项相关接口
/bmc/kepler/Systems/${SystemId}/BootOptions - SetBootMode
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/BootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| BootMode | 输入 | s | 启动模式 | 当前只支持UEFI |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| RespCode | 设置Bios启动模式结果 | 启动模式设置 | 无 |
应用场景
设置BIOS启动模式。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/BootOptions bmc.kepler.Systems.BootOptions SetBootMode a{ss}s 0 "UEFI"
/bmc/kepler/Systems/${SystemId}/BootOptions - SetBootOrder
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/BootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| BootOrderJson | 输入 | s | 启动顺序 | 启动顺序符合规则 |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| OutCode | 返回码 | 启动顺序设置 | 无 |
| ErrName | 启动顺序错误名 | 启动顺序不符合规则 | 检查启动顺序是否符合规则 |
| ErrValue | 动顺序错误值 | 启动顺序不符合规则 | 检查启动顺序是否符合规则 |
应用场景
设置BIOS启动顺序。
限制条件
启动顺序必须符合BIOS规则。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/BootOptions bmc.kepler.Systems.BootOptions SetBootOrder a{ss}s 0 "{"BootTypeOrder0":"DVDROMDrive", "BootTypeOrder1":"PXE","BootTypeOrder3":"Others","BootTypeOrder2":"HardDiskDrive"}"
/bmc/kepler/Systems/${SystemId}/BootOptions - SetStartOption
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/BootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| StartOption | 输入 | s | 启动项 | 可选:None、Pxe、Floppy、Cd、Hdd、BiosSetup |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| Result | 设置Bios启动项结果 | 启动项设置 | 无 |
应用场景
设置BIOS启动项。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/BootOptions bmc.kepler.Systems.BootOptions SetStartOption a{ss}s 0 "None"
/bmc/kepler/Systems/${SystemId}/BootOptions - SetStartOptionFlag
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/BootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| StartOptionFlag | 输入 | s | 生效次数 | 可选:Disabled、Once、Continuous |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| Result | 设置Bios启动项次数结果 | 启动项生效次数设置 | 无 |
应用场景
设置BIOS启动项生效次数。
调试示例
busctl --user call bmc.kepler.bios /bmc/kepler/Systems/1/BootOptions bmc.kepler.Systems.BootOptions SetStartOptionFlag a{ss}s 0 "Continuous"
2.4 证书管理相关接口
/bmc/kepler/Systems/${SystemId}/SecureBootOptions - GetCertificate
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/SecureBootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| CertInfo | Bios的Https启动证书类型 | 获取成功 | 无 |
应用场景
获取BIOS安全启动证书。
限制条件
BIOS不能处于启动阶段。
/bmc/kepler/Systems/${SystemId}/SecureBootOptions - ImportCertificate
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/SecureBootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| DatabseType | 输入 | s | 数据库类型 | db、dbx |
| CertString | 输入 | s | 安全启动证书内容 | 无 |
| CertType | 输入 | s | 安全启动证书类型 | 证书内容类型,目前只支持PEM |
返回值与异常
应用场景
导入BIOS安全启动证书。
限制条件
导入证书格式必须正确,BIOS不能处于启动阶段。
/bmc/kepler/Systems/${SystemId}/SecureBootOptions - ResetCertificate
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/SecureBootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| DatabseType | 输入 | s | 数据库类型 | db、dbx |
| ResetType | 输入 | s | 重置Bios安全启动证书操作类型 | 目前只支持DeleteAllKeys、ResetAllKeysToDefault |
返回值与异常
应用场景
重置BIOS安全启动证书。
限制条件
BIOS不能处于启动阶段。
/bmc/kepler/Systems/${SystemId}/BootOptions - GetCertificate
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/BootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| CertInfo | 证书数据 | 获取成功 | 无 |
应用场景
获取BIOS的HTTPS启动证书。
限制条件
BIOS不能处于启动阶段。
/bmc/kepler/Systems/${SystemId}/BootOptions - ImportCertificate
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/BootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| CertString | 输入 | s | Https启动证书内容 | 无 |
| CertType | 输入 | s | Https证书类型 | 证书类型(PEM格式) |
返回值与异常
应用场景
导入BIOS的HTTPS启动证书。
限制条件
证书格式必须正确,BIOS不能处于启动阶段。
/bmc/kepler/Systems/${SystemId}/BootOptions - ImportCrl
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/BootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| CertString | 输入 | s | Https启动证书内容 | 无 |
| CertType | 输入 | s | Https证书类型 | 证书类型(PEM格式) |
返回值与异常
应用场景
导入BIOS的HTTPS启动证书吊销列表。
限制条件
BIOS不能处于启动阶段。
/bmc/kepler/Systems/${SystemId}/BootOptions - ResetCertificate
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/BootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| ResetType | 输入 | s | 重置Bios Https证书操作类型 | 目前只支持DeleteAllKeys、ResetAllKeysToDefault |
返回值与异常
应用场景
重置BIOS的HTTPS启动证书。
限制条件
BIOS不能处于启动阶段。
/bmc/kepler/Systems/${SystemId}/BootOptions - ResetCrl
| 属性 | 内容 |
|---|---|
| 接口名 | /bmc/kepler/Systems/${SystemId}/BootOptions |
| 首发版本 | openUBMC 25.03 |
| 废弃状态 | 正常可用 |
| 替代接口 | 无 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| ResetType | 输入 | s | 重置Bios Https吊销证书操作类型 | 目前只支持DeleteAllKeys、ResetAllKeysToDefault |
返回值与异常
应用场景
重置BIOS的HTTPS启动证书吊销列表。
限制条件
BIOS不能处于启动阶段。
2.5 IPMI接口
| 命令 | 描述 |
|---|---|
| SetBootOption | 设置启动项 |
| GetBootOption | 获取启动项 |
| GetBiosGoldValid | 获取固件备份状态 |
| GetBiosBootInfo | 获取bios启动参数 |
| GetFileChanged | 获取bios配置文件修改状态 |
| GetSmBiosInfo | 获取smbios信息 |
| ReadFileFromBmc | 从bmc读取配置文件 |
| SetBiosBootInfo | 设置bios启动参数 |
| SetBiosVersion | 设置bios版本 |
| SetCertificateAssertion | 设置bios证书过期告警 |
| SetFileChanged | 设置bios配置文件修改状态 |
| SetSmBiosInfo | 设置smbios信息 |
| UpdateBiosPassword | 设置bios密码 |
| UpdateBiosStatus | 设置bios启动状态 |
| UpdatePostStatus | 设置bios完成启动状态 |
| WriteFileToBmc | 上报bios配置文件 |
| WriteSmbiosData | 上报smbios配置文件 |
| GetAllowedPackageType | 获取装备模式允许升级的Bios包的安全类型 |
| SetAllowedPackageType | 设置装备模式允许升级的Bios包的安全类型 |
| SetBaseOSBootEvent | 设置bios传感器告警 |
| GetBiosConfiguration | 获取bios配置项 |
| SetBiosConfiguration | 设置bios配置项 |
| SetKrunVersion | 设置Krun固件版本号 |
3. 组件扩展案例
3.1 扩展能力概述
不适用
3.2 扩展点说明
不适用
3.3 二次开发指导
不适用
4. 日志说明
4.1 一键日志收集
| 文件路径 | 内容说明 |
|---|---|
| dump_info/AppDump/bios/setting.json | 用户的Bios配置数据 |
| dump_info/AppDump/bios/currentValue.json | 当前生效的Bios配置 |
| dump_info/AppDump/bios/Registry.json | 配置的标准文件 |
| dump_info/AppDump/bios/result.json | Bios运行的记录文件 |
| dump_info/AppDump/bios/silkconfig.json | 丝印配置文件 |
| dump_info/AppDump/bios/SMBIOS_CONF | SMBIOS配置信息 |
4.2 关键日志信息
| 日志片段 | 日志级别 | 含义解读 | 建议处理动作 |
|---|---|---|---|
| Switch spi to BMC(BIOS) | INFO | SPI链路切换到BMC侧 | 正常流程,无需处理 |
| Switch spi to BMC(BIOS) failed | ERROR | SPI链路切换失败 | 检查硬件连接和驱动 |
| verify signature error, code 88200312 | ERROR | 包签名校验失败 | 替换与BMC签名一致的HPM包 |
| sys-uid not in update.cfg's ProductUIDList | ERROR | HPM包与机型不符 | 使用符合机型的HPM包 |
| parse package failed, ret:InvalidFirmwarePackage | ERROR | HPM包缺少cfg文件 | 获取带外升级使用的HPM包 |
| [spi]check_device_ready: ready fail | ERROR | SPI设备未就绪 | 检查硬件问题,联系厂商 |
| PackageCheckExecutor: upgrade patch package in equipment mode | ERROR | 装备模式不能升级补丁包 | 更换为普通包或非装备模式 |
| ComponentFilter: skip component | INFO | 无感升级跳过版本一致的固件 | 正常流程,无需处理 |
5. 问题定界指南
5.1 典型问题定界
| 现象描述 | 是否为本组件问题 | 判断依据 | 关键证据收集方法 |
|---|---|---|---|
| BIOS升级显示无效的升级包 | 是 | 包签名校验失败或包类型不匹配 | 查看app.log中的签名错误日志 |
| BIOS升级成功后版本号未变 | 否 | 依赖BIOS上报版本号 | 确认BIOS在新版本上报过版本号 |
| 非装备包OS上电升级无法用reboot生效 | 是 | 默认下电生效模式 | 检查csr配置或使用ipmi命令设置 |
| BIOS升级完成后未保留配置 | 是 | 装备包默认全擦 | 检查是否为装备包,装备包默认不保留配置 |
| 无感升级失败 | 是 | 多种可能原因 | 检查BIOS启动状态、包类型、升级模式 |
5.2 错误码速查表
| 错误码 | 含义 | 可能原因 | 排查建议 |
|---|---|---|---|
| 0x03000049 | PSU.PSULinkAbnormal | 主板AVSBUS、PMBUS链路异常 | 更换CPU板 |
| 0x01000073 | Memory.MemoryI2CI3CLinkAbnormal | 1、内存故障 2、主板I2C/I3C链路异常 | 1、更换内存 2、更换主板 |
| 0x24000031 | CPUBoard.VRPowerRedundancyFailure | VR电源(单相)工作异常 | 更换主板 |
5.3 调试方法
开启调试日志
bios组件的调试日志随app.log输出,日志级别由系统统一配置。在调试场景下,可通过以下方式增加日志获取量:
busctl --user call bmc.kepler.bios /bmc/kepelr/compute/MicroComponent bmc.kepler.MicroComponent SetDlogLevel a{ss}sy 0 debug 2
复现问题方法
- 确认升级包类型和升级模式匹配
- 确认BIOS启动状态(无感升级需要BIOS启动完成)
- 检查SPI链路状态
- 查看app.log中的详细错误信息
6. 常见问题解答
Q1:BIOS升级显示无效的升级包
- 问题描述:升级BIOS时提示无效的升级包
- 一句话答案:包签名校验失败或包与机型不匹配
- 根因说明:可能是签名与BMC不匹配、HPM包与实际机型不符、HPM包缺少必要的cfg文件
- 解决方案:根据具体错误日志更换正确的HPM包
- 规避方案:确保使用与BMC签名一致且符合机型的HPM包
- 适用版本:所有版本
Q2:BIOS升级成功后版本号未变
- 问题描述:BIOS升级完成但版本号未更新
- 一句话答案:BIOS未上报新版本号
- 根因说明:bios版本号更新依赖bios侧上报版本号,BMC无法主动获取
- 解决方案:升级结束后需要确认BIOS在新版本上报过版本号
- 规避方案:检查关键日志确认版本上报
- 适用版本:所有版本
Q3:非装备包OS上电升级BIOS,无法使用强制重启或者带内reboot生效
- 问题描述:OS上电状态下升级BIOS,通过reboot无法生效
- 一句话答案:默认生效条件为下电生效
- 解决方案:通过修改csr配置实现重启生效,或使用ipmi命令SetCachedBiosUpgradeMode设置
- 适用版本:所有版本
Q4:BIOS升级完成后未保留配置
- 问题描述:升级BIOS后配置未保留
- 一句话答案:装备包默认全擦,非装备包默认保留
- 根因说明:对于装备包升级BIOS默认不保留配置,对于非装备包默认保留配置
- 解决方案:使用非装备包升级或在bios下设置manufacture: false
- 适用版本:所有版本
Q5:BIOS升级过程中失败
- 问题描述:BIOS升级过程中失败
- 一句话答案:多种原因可能导致升级失败
- 根因说明:
- 包的类型与升级模式不匹配(无感升级只能用补丁包)
- BIOS未启动完成(无感升级需要BIOS POST完成)
- SPI链路切换失败
- 解决方案:
- 确认升级包类型与升级模式匹配
- 确认BIOS启动状态
- 检查SPI链路和驱动
- 适用版本:所有版本
Q6:丝印上报是怎么回事?
- 问题描述:什么是丝印上报,作用是什么
- 一句话答案:BIOS通过IPMI命令从BMC读取丝印信息并更新到BIOS人机界面和SMBIOS
- 根因说明:BIOS启动时通过ReadFileFromBmc命令从BMC读取silkconfig.json,解析后更新丝印信息
- 解决方案:这是正常流程,不需要干预
- 适用版本:所有版本
附录
附录A 参考资料
附录B 修订记录
| 版本 | 日期 | 修订人 | 修订内容 |
|---|---|---|---|
| v1.0 | 2025-01-16 | openUBMC | 初始版本创建 |