问题描述
2512_LTS_Q1出的包起不来,可以升级上去,但是会回退。看log是说iam组件没起来。
环境信息
-
软件版本:openUBMC_26年330版本
-
硬件配置:机型为S920S20
manifest使用的是社区manifest仓br_release_openUBMC2512_20261231_LTS_SP1分支,按照2512出包指导修改了config.cfg和launch_control.json。
manifest.yml里修改了证书和如下配置:
2512_LTS_Q1出的包起不来,可以升级上去,但是会回退。看log是说iam组件没起来。
软件版本:openUBMC_26年330版本
硬件配置:机型为S920S20
manifest使用的是社区manifest仓br_release_openUBMC2512_20261231_LTS_SP1分支,按照2512出包指导修改了config.cfg和launch_control.json。
manifest.yml里修改了证书和如下配置:
答案内容由AI生成,仅供参考:
根据您提供的日志与环境信息,该问题表现为:固件升级成功,但系统重启后无法正常启动,最终触发自动回退机制,返回至旧版本运行。核心原因为 iam 组件启动失败,导致 StartupCheck 多次校验未通过,从而引发 BMC rollback(BMC 回退)。
openUBMC_2512LTS_Q1 版本。iam 无法启动。[iam] StartupCheck failed, error: org.freedesktop.DBus.Error.ServiceUnknown: The name bmc.kepler.iam was not provided by any .service files
openUBMC_2512LTS_Q1manifest 使用 br_release_openUBMC2512_20261231_LTS_SP1 分支,并按指导修改了 config.cfg 和 launch_control.json。iam 服务未注册导致 StartupCheck 失败StartupCheck 是系统启动期间的核心校验机制,用于验证所有关键服务是否已正确加载。bmc.kepler.iam 服务未被任何 .service 文件提供,说明:
iam 组件对应的 D-Bus 服务定义文件缺失或路径错误;iam 组件未被正确集成进最终发布的 HPM 包中;iam 服务未在系统启动流程中正确声明或启用。
报错说明:
The name bmc.kepler.iam was not provided by any .service files表明systemd或 D-Bus 框架无法找到该服务的.service配置文件。
StartupCheck 连续多次检测到 iam 异常(日志中达到 8 次),系统判断为“启动不完整”或“关键组件异常”。bmc_health/service/main(由 bmc_core 启动)检测到异常后,标记系统不可用。
相关实体支持:
StartupCheck失败 →Service Startup Failure→BMC Rollback的因果链已在知识图谱中确认。- 用户
Dengchangxiong在文档中有明确说明:组件启动失败可导致重启和回退。
| 类别 | 详细说明 |
|---|---|
- manifest.yml 配置中未正确包含 iam 组件;- conan 包依赖缺失,如 conan: iam 未声明;- config.cfg 或 launch_control.json 中未启用 iam 子系统。 |
|
- 构建过程中未生成或未打包 bmc.kepler.iam.service 文件;- 文件路径不正确(应位于 /opt/bmc/apps/iam/service/ 下);- 权限不足或构建阶段 permissions.ini 未正确赋权。 |
|
- iam 组件被裁剪或未声明为必选组件;- 组件构建失败,但未中断整个出包流程(CI 构建容忍错误); - 使用了错误的出包指导(如非 LTS 专用流程)。 |
|
- 若为签名包,iam 组件因未正确签名导致加载失败;- add pss root certificate failed 或 rsa_decrypt failed 日志可能伴随出现(参考 firmware_mgmt FAQ)。 |
iam 是否包含在 HPM 包中/opt/bmc/apps/iam/service/main.lua
/opt/bmc/apps/iam/service/bmc.kepler.iam.service
manifest.yml 中已声明:- conan: iam
build/product/BMC/openUBMC/rootfs/opt/bmc/apps/hica/subsys/energy/config.cfg 是否包含:config:include_app("iam")
launch_control.json 是否启用 iam:{
"apps": {
"iam": { "enable": true }
}
}
.service 文件权限与路径/opt/bmc/apps/iam/service/ 目录存在且可读。permissions.ini 是否为该组件设置了正确权限(如 root:root, 0755)。add pss root certificate failedrsa_decrypt failedFailed to load lua module: iam/service/mainRelease Version 存在版本回溯(Version Backtrack) 问题(知识库中提及),可能导致即便升级成功也无法持久化新版本。rsa_decrypt failed 与签名包不匹配相关。ComponentID=2 管理,支持防回退机制。StartupCheck → Service Startup Failure → BMC Rollback → Auto RollbackSystem Upgrade → Upgrade Failure → Version Backtrack| 任务 | 操作 |
|---|---|
确认 iam 组件文件存在 |
|
添加 - conan: iam |
|
包含 include_app("iam") |
|
搜索 iam, serviceUnknown, decrypt 错误 |
|
| 使用官方 2512 LTS 出包流程 |
如仍无法解决,建议提供完整的 app.log 和 framework.log 进一步定位 iam 模块加载失败的上下文。
bmc_sdk使用的版本是26年Q1的,但是manifest用的是br_release_openUBMC2512_20261231_LTS_SP1分支的,对应的开源软件也是br_release_openUBMC2512_20261231_LTS_SP1里的版本。
基本是版本不配套导致的。
26年Q1的manifest是main分支么? 因为这个分支还在不停合入新的代码,我以为我们联合验证的应该是一个锁定的分支
在subsys中手动改成如下版本号即可:account/1.110.31 + iam/1.110.4
可以了