通过将iBMC固件版本升级到openUBMC之后,然后通过fw_upgrade命令回退到iBMC固件进行启动,启动后又再次进行了升级openUBMC的操作,然后就再也没法回到iBMC的固件版本了。
想请教下针对我这种操作,有啥手段能恢复到iBMC固件版本吗
通过将iBMC固件版本升级到openUBMC之后,然后通过fw_upgrade命令回退到iBMC固件进行启动,启动后又再次进行了升级openUBMC的操作,然后就再也没法回到iBMC的固件版本了。
想请教下针对我这种操作,有啥手段能恢复到iBMC固件版本吗
答案内容由AI生成,仅供参考:
| 方法 | 是否推荐 | 适用场景 |
|---|---|---|
ipmcset -d rollback |
系统尚可 SSH 登录 | |
| Web 界面上传 iBMC 固件 | Web 页面可用,有合法 HPM 包 | |
| U-Boot 手动倒换分区 | 串口可访问,最可靠 | |
| 硬件烧录 / JTAG | 完全无法启动时 |
建议操作顺序:
- 尝试 U-Boot 倒换分区
- 若成功,登录后立即备份原始 iBMC 固件
- 后续如需升级 openUBMC,请遵循官方构建与升级流程
根据您描述的情况(从 iBMC 升级到 openUBMC,尝试通过 fw_upgrade 或 ipmcset -d rollback 回退失败,再次升级后无法再返回 iBMC),以下是综合当前技术支持资料和社区实践的详细解决方案。
您的情况属于典型的 BMC 固件迁移后回退失败 场景。关键原因如下:
自动回滚机制被触发或失效:
固件标识残留与配置未清理:
iBMC INFO 字符串、分区命名等),导致系统误判当前状态。签名与加密机制阻止降级:
add crl file is error),即使使用合法 HPM 包也无法升级。参考日志证据:用户
Tzyy_Q_wbdc2曾报告类似问题,日志显示firmware_mgmt WARNING: init.lua(98): add crl file is error, code 88200102,表明是 证书签名验证失败 导致升级中断。
ipmcset -d rollback 命令(仅在系统可用时适用)该命令用于触发 BMC 回退到上一个有效的固件版本(通常是 iBMC)。
ipmcset -d rollback
注意事项:
- 必须确保 BMC 能正常运行,SSH 可登录。
- 如果提示 “内部服务错误”(Internal Service Error),说明
firmware_mgmt服务异常或双分区信息不一致。- 此命令在 openUBMC 中存在兼容性问题,不一定支持所有版本。
如果 BMC 仍可访问 Web 页面,则可通过界面重新刷入 iBMC 固件。
192.168.x.x).hpm 固件包(版本需匹配原设备)
成功条件:
- 使用 已签名的合法 HPM 包
- BMC 支持该型号固件(避免机型不匹配错误)
常见失败原因:
- 固件包未正确签名(提示:“无效的升级包”)
- 使用了 openUBMC 构建工具生成的“自签名”包而未更新公钥
- 存在 CRL 验证失败(如
code 88200102)
当 SSH 和 Web 均不可用时,可进入 U-Boot 命令行 手动切换启动分区。
printenv boot_part
输出可能是 boot_part=1 或 boot_part=2
setenv boot_part 2
saveenv
reset
提示:
- 分区1:通常为 active(当前运行)
- 分区2:backup(备份,可能是原始 iBMC)
- 此方法绕过了操作系统层面的所有校验,成功率高
若所有软件方式失效,可通过硬件手段 重新烧录完整的 iBMC 镜像。
.bin 镜像并烧录此方法需专业设备和权限,建议联系设备厂商或技术支持人员处理。
| 措施 | 说明 |
|---|---|
执行 ipmcset -t maintenance -d clearcfg 清除所有配置和日志 |
|
| 升级前关闭自动回退功能,防止意外切换 | |
确保构建包中 manifest.yml 设置:account.option.manufacture: true |
|
| 升级自签名包前,确认 CRL 文件有效且公钥匹配 | |
| 在首次升级前,保存原始 iBMC 的 HPM 包或完整镜像 |
| 方法 | 是否推荐 | 适用场景 |
|---|---|---|
ipmcset -d rollback |
系统尚可 SSH 登录 | |
| Web 界面上传 iBMC 固件 | Web 页面可用,有合法 HPM 包 | |
| U-Boot 手动倒换分区 | 串口可访问,最可靠 | |
| 硬件烧录 / JTAG | 完全无法启动时 |
建议操作顺序:
- 尝试 U-Boot 倒换分区
- 若成功,登录后立即备份原始 iBMC 固件
- 后续如需升级 openUBMC,请遵循官方构建与升级流程
若您仍有问题,建议提供 一键收集日志 或 串口启动日志截图,以便进一步分析。
恢复出厂是执行恢复出厂还原点,不涉及BMC固件镜像本身的变更。
BMC存在主备分区,通过回滚命令回滚至上一个版本是可行的,但无法回退至再早的历史版本。
想要升回iBMC版本可参考
https://discuss.openubmc.cn/t/topic/675
你好,这个链接点击进不去,显示页面不存在
datatocheck_upgrade.dat 和pme_profile_en.dat ,覆盖build/manufacture/misc目录下的同名文件。(获取文件请联系PAE)好的,感谢
这个可以写到文档里面