答案内容由AI生成,仅供参考:
关于固件签名工具与过渡包的解答
根据您提出的两个问题,现结合 openUBMC 社区及相关技术资料,整理回答如下。
问题1:从哪里可以获取 bmcgo 工具?
bmcgo 是 openUBMC 项目中用于构建、签名和管理 BMC 固件的核心工具,尤其在生成白牌包(White-Label Package) 和签名 HPM 包时不可或缺。
获取方式:
-
联系产品负责人或华为 FAE(Field Application Engineer)获取安装权限和工具包。
- 多份文档和社区回复明确指出:
bmcgo不对所有开发者公开,必须由 产品接口人或华为技术支持 提供安装支持。 - 参考关系:
Bmcgo Tool与华为 FAE存在依赖关系。
- 多份文档和社区回复明确指出:
-
获取形式:
- 通常以压缩包形式提供,例如:
Dev Tools 2506 With Bmcgo(包含bmcgo工具及其依赖)。 - 常见格式为
.zip或.deb安装包,如Dev_Tools_2506_With_Bmcgo.Zip。 - 安装前需先卸载旧版
bingo工具(因存在冲突),命令示例如下:sudo apt remove openubmc-bingo sudo dpkg -i bmcgo_xxx.deb
- 通常以压缩包形式提供,例如:
-
安装后验证:
- 安装成功后,可通过以下命令验证:
bmcgo --help - 工具路径通常位于
/usr/local/lib/python3.12/dist-packages/bmcgo或通过pip3安装。
- 安装成功后,可通过以下命令验证:
注意事项:
bmcgo与bingo功能相似但不兼容,且bingo无法编译白牌包,必须使用bmcgo。- 社区版本默认只提供
bingo,bmcgo需额外申请。
问题2:是否需要先升级过渡包才能刷入伙伴签名固件?如何生成过渡包?
是否需要过渡包?
是的,在大多数情况下需要先升级到一个“过渡包”(Transition Package),才能成功升级到伙伴签名的固件包,尤其是当系统已启用安全启动(Secure Boot) 时。
场景分析:
| 安全启动状态 | 是否可直接升级伙伴签名固件 | 是否需要过渡包 |
|---|---|---|
| 未开启安全启动 | 可尝试直接升级(但不推荐) | 否(可选) |
| 已开启安全启动 |
原因:
BMC 固件升级过程中会使用内置的根证书(RootCA) 验证固件签名。若当前系统使用的是华为的根证书,则只能验证华为签名的固件。要切换至伙伴签名,必须通过过渡包完成根证书的替换。
如何生成过渡包?
目前,过渡包的制作权限受限,主要由 华为场内环境 控制,并非外部伙伴可自行生成。
获取方式:
- 由华为 PAE/FAE 在内部环境生成,并提供给合作伙伴。
- 过渡包通常是一个特殊签名的 U-Boot 或最小化 HPM 包,用于:
- 禁用旧签名验证或
- 替换系统信任的根证书为伙伴的 CA 证书。
过渡包的作用流程:
- 当前系统运行 华为签名固件
- 刷入 过渡包(由华为签名为基础,包含证书切换逻辑)
- 系统信任的根证书被替换为伙伴的根证书
- 成功升级 伙伴签名的正式固件包
生成条件(如未来开放):
若允许本地生成,需具备以下要素:
- 自定义的 CA 根证书(
.der格式) - 签名私钥(
.pem.enc加密) - 时间戳签名配置(
tsa.cnf) - 正确配置
manifest.yml中的signature字段:signature: rootca_der: /path/to/partner_rootca.der signer_pem: /path/to/partner_signer.pem.enc timestamp_signer_pem: /path/to/ts_signer.pem.enc timestamp_signer_cnf: /path/to/tsa.cnf - 使用
bmcgo构建并签名:SIGN_PASSWORD=xxx bmcgo build -b openUBMC -r openubmc_dev
当前现实:
- 普通开发者无法独立完成过渡包制作。
- 即使有证书,也需华为 PAE 配合提供工具链或签名服务。
总结建议
| 问题 | 结论与建议 |
|---|---|
如何获取 bmcgo? |
联系 产品负责人 或 华为 FAE 获取安装包,安装前需卸载 bingo。 |
| 是否需要过渡包? | 是的,尤其在开启安全启动时,必须通过过渡包更换系统信任的根证书。 |
| 如何生成过渡包? | 当前仅华为可在内部生成,外部无法独立完成。建议向 PAE 申请提供。 |
参考来源:
- openUBMC 论坛帖子 #3407、#1284
- 文档《白牌包适配与制作指南》
- 知识图谱实体:
Bmcgo Tool,过渡包,Huawei Signature,安全启动等关系
如有进一步需求,建议在 discuss.openubmc.cn 提问或联系对应技术支持获取专属支持。
相关链接: