真机固件升级求助

使用docker pull swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_25.09这个docker镜像。
执行:git clone git@gitcode.com:openUBMC/manifest.git
bingo build进行整包构建,在/home/workspace/manifest/output下生成rootfs_openUBMC.hpm。
使用rootfs_openUBMC.hpm在web界面升级BMC固件,结果如下,一直在这个界面,没有成功失败提示,请问是为什么,就是初始manifest进行的构建,没有更改任何

答案内容由AI生成,仅供参考:
根据您提供的上下文信息,您在使用官方 Docker 镜像克隆社区默认 manifest 并执行 bingo build 后生成了 rootfs_openUBMC.hpm 固件包,但在真机 iBMC Web 界面升级时无任何成功或失败提示,界面卡住。结合知识库内容,以下是系统性分析与解决方案:


:white_check_mark: 根本原因分析

1. 固件包未签名或签名不匹配(最可能原因)

  • 您使用的是 社区开源 manifest 构建的固件包(即“社区包”),但 iBMC 设备(如 S920X20)是华为原厂设备,其固件升级机制默认只接受华为签名的 HPM 包
  • 知识库中多个问题明确指出:
    • “社区包会跳过验签和加解密”,但非社区设备(如华为服务器)要求必须经过伙伴签名
    • “用社区直接出伙伴包会导致没有升级密钥,因此无法升级”
    • “升级失败是因为固件未转换成伙伴签名,在升级时验签失败”
  • 您的 rootfs_openUBMC.hpm 是未签名或使用了错误签名的包,iBMC 在升级流程中检测到签名无效,但不返回明确错误(可能是固件升级模块静默失败),导致界面卡在“正在升级”状态。

2. 未使用“过渡包”升级路径

  • 根据知识库:

    “需要制作BMC的hpm过渡版本… iBMC升级到过渡版本,过渡版本升级到openUbmc版本。”

  • 华为原厂 iBMC 与 openUBMC 是不兼容的两个固件体系。直接从华为 iBMC 升级到 openUBMC 的完整包,绝大多数情况下会被拒绝

  • 正确流程应为:

    华为 iBMC → [过渡包] → openUBMC 初始版本 → [后续 openUBMC 升级]
    
  • 您直接使用 rootfs_openUBMC.hpm(完整版)进行升级,绕过了过渡阶段,设备固件升级引擎拒绝执行

3. BMC Studio 与 QEMU 环境 vs 真机差异

  • 您在 Docker 环境中构建的包,仅在 QEMU 模拟环境中可正常运行
  • 真机 BMC(如 S920X20)具有硬件安全模块(如安全芯片、TPM、加密密钥存储),对签名证书链、密钥文件(如 rootca.der, signer.pem)有严格校验。
  • 社区 manifest 默认不包含华为的私钥,因此构建出的包无法通过真机验签

4. 升级包未包含必要的“伙伴签名”配置

  • manifest.yml 中,若未配置 partner.signature 字段,构建工具 bingo 不会自动注入有效签名。
  • 您未提及是否配置了签名服务器或使用了 cms_sign_hpm.sh 等工具进行签名,很可能包是“裸包”

:white_check_mark: 总结:您的问题根本原因与解决路径

问题现象 根本原因 解决方案
Web 界面升级卡住,无任何提示 使用未签名或非伙伴签名的社区包,直接升级华为 iBMC 设备 1. 必须使用官方过渡包先升级;2. 使用华为伙伴签名工具重新签名完整包;3. 分两步升级

:key: 核心结论
您不是“升级失败”,而是“根本没被允许升级”。
华为设备有严格的签名锁机制,社区开源包必须经过“过渡 + 伙伴签名”双通道才能刷入真机。

请按上述步骤操作,尤其是先使用过渡包,问题即可解决。

有无过渡包生成文档,和签名制作文档

应该不要过渡包

openUBMC 初始版本是那个版本?

这个环境页面看起来像是v2的机型,社区版本都是v3机型,使用v3机型升级再试一下呢。

看页面不是openUBMC 环境是v2环境,v2->过度包->openUBMC签名包,过度包在场内制作(问下贵司市场找下产品接口人),2509签名包制作过程可参考 签名包构建指导及常见问题 - 交流互助区 / 鲲鹏专区 - openUBMC 论坛。如果只是想看openUBMC社区版本现状,只做前期研究,可以将openUBMC社区版本布置在米尔科技开发板上。 可参考Hi3093开发板上手教学上手。希望对你有帮助。

1 个赞

社区包升级回iBMC会升级失败,有没有办法解决呢?

有过渡包