请问从哪里可以获取通过openUBMC升级920模组的cpld firmware?
答案内容由AI生成,仅供参考:
总结
| 项目 | 说明 |
|---|---|
| CPLD固件获取渠道 | 从设计方或华为原厂获取原始镜像,并自行签名后使用;或参考社区发布的适配配置构建 |
| 推荐文件名 | ubmc_YunHe_920S_L1.hpm(示例) |
| 关键限制 | openUBMC暂不支持CPLD升级的Prepare/Finish动作,无法自动切换多JTAG链路 |
| 解决方法 | 确保JTAG通路物理连通,合理配置路由参数,并对固件重新签名 |
建议:若升级失败,请提交一键收集日志,并到 discuss.openubmc.cn 发帖咨询技术支持团队,提供具体型号和日志信息以获得进一步协助。
点击此处查看详细分析解答
关于通过openUBMC升级华为920模组CPLD固件的获取方式
根据现有信息,以下是关于如何获取适用于华为Kunpeng 920模组并通过openUBMC平台升级的CPLD固件的相关说明和建议。
固件来源与获取途径
1. CPLD固件包文件
用于升级的CPLD固件通常以.hpm格式打包。文档中提到了一个具体的CPLD固件包:
ubmc_YunHe_920S_L1.hpm:这是专用于更新载板CPLD的固件包文件,已在openUBMC环境中使用过。
该文件由openUBMC系统识别并用于执行CPLD固件升级流程。
相关知识来源:此文件在日志分析中被多次提及,用于验证CPLD升级过程的签名(通过
validate_sign.lua脚本)及版本处理(见Document Chunk 4)。
2. 官方开源社区资源
您可以从以下openUBMC官方社区平台获取相关固件或参考配置:
特别是:
- 920模组参考代码链接 和 920S模组参考代码链接 已合并至社区,包含适配华为920系列模组的基础支持。
- 社区提供了针对鲲鹏920/920S模组与开发载板的参考配置,可用于定制自己的CPLD固件升级方案。
建议访问
https://gitcode.com/openUBMC/vpd/pull/303和https://gitcode.com/openUBMC/vpd/pull/322查看“Support 920s Modul”等Pull Request,了解兼容性适配细节。
升级限制与注意事项
openUBMC目前不完全支持CPLD升级的准备/完成动作
根据用户反馈(Document Chunk 8)和知识图谱内容:
- openUBMC LogicFirmware缺乏Prepare/Finish操作:
- 在原有的iBMC V2架构中,CPLD升级前需执行切换JTAG通道的Prepare动作,升级后再执行Finish动作。
- 但在openUBMC中,未实现类似的Prepare/Finish钩子机制,导致部分复杂升级场景失败。
- 当前仅支持简单的单通道切換(通过
FirmwareRoute,Routes,DefaultRoute参数配置)。
典型错误日志特征:
日志中出现[cpld]get cpld device info failed(来自Document Chunk 7),可能意味着JTAG链路未正确切换或芯片ID读取失败。
固件签名要求
openUBMC对固件包具有严格的签名校验机制:
- 只能升级使用开发者自己签名的固件包。
- 若使用华为(HW)签名的原始固件(如
S920S10X10_Update_CS_2P_cms.hpm),会报错:“无效的升级包”或“verify signature error, code 88200312”。 - 解决方案:需使用配套工具(如
crypto_tool)对原始固件重新签名,确保与openUBMC使用的证书一致。
提示:可联系PAE(产品应用工程师)获取签名工具及相关流程指导。
推荐操作步骤
-
确认硬件兼容性
- 确保您的920模组已适配openUBMC,可参考社区提供的S920X20平台配置。
-
准备正确的CPLD固件包
- 获取原始CPLD二进制文件或HPM包(如来自设计团队或华为原厂)。
- 使用与openUBMC匹配的证书进行重新签名。
-
检查JTAG路由配置
- 在系统配置中正确设置:
确保升级时能正确切到目标CPLD的JTAG链路。"Routes": "#/Accessor_JtagSwitch.Value", "DefaultRoute": 0, "FirmwareRoute": 2
- 在系统配置中正确设置:
-
通过openUBMC界面上传升级
- 访问
openUBMC管理 → 固件升级 → 固件更新 - 添加已签名的
.hpm文件,启动升级流程。
- 访问
-
分析日志排查异常
- 升级失败后,收集
app.log,重点查看:validate_sign.lua: 签名是否通过fw_upgrade.lua: 是否获取到CPLD信息process.lua: 多厂商CPLD设备信息获取是否失败
- 升级失败后,收集
总结
| 项目 | 说明 |
|---|---|
| CPLD固件获取渠道 | 从设计方或华为原厂获取原始镜像,并自行签名后使用;或参考社区发布的适配配置构建 |
| 推荐文件名 | ubmc_YunHe_920S_L1.hpm(示例) |
| 关键限制 | openUBMC暂不支持CPLD升级的Prepare/Finish动作,无法自动切换多JTAG链路 |
| 解决方法 | 确保JTAG通路物理连通,合理配置路由参数,并对固件重新签名 |
建议:若升级失败,请提交一键收集日志,并到 discuss.openubmc.cn 发帖咨询技术支持团队,提供具体型号和日志信息以获得进一步协助。
openubmc是无签名无加密,当前没有无签名无加密的cpld包
想要升cpld有两个方向:
1.自行出一个无签名无加密cpld包
2.BMC升级至非社区包版本后升级cpld包