// 此模板仅供参考,如果不适用可以修改
问题描述
在300I A2卡官网下载MCU包,做重签名后升级失败
环境信息
- 软件版本:25.12
答案内容由AI生成,仅供参考:
# 确保使用openUBMC提供的标准工具
# 1. 准备必要的签名文件
privatebinary.zip 和 dev_tools.zip
# 2. 使用bingo工具的hpm_signer命令进行重签名
bingo hpm_signer --input Ascend-hdk-910b-mcu_25.53.33.hpm \
--output kunta-signed.hpm \
--private-key your_private.key \
--certificate your_cert.pem
确认签名环境一致性:
community_enable=true配置正确验证签名流程:
# 使用hpm_verify验证签名结果
hpm_verify -f kunta-signed.hpm
检查包内容完整性:
确保重签名过程没有改变包内的配置文件(如conf.tar.gz)或其他关键元数据。
如果重签名持续存在问题,可考虑使用过渡包机制:
manifest.yml设置伙伴模式/opt/bmc/trust/partner/目录注意:有报告指出通过hpm_resign重签名的包与manifest配置生成的自签名包行为不一致。
在使用华为300I A2 NPU卡时,从官网下载MCU固件包进行重签名后升级失败。日志显示关键错误信息:
FirmwareType is nil, invalid package.hpmparse package(kuntai-test.hpm) failed, ret:InvalidFirmwarePackage这表明固件包解析失败,系统无法识别固件类型。
根据日志和相关技术资料,该问题的根本原因是重签名过程破坏了HPM包的内部结构或元数据信息,导致FirmwareType字段丢失或无法被正确解析。
具体分析如下:
日志关键线索:
hpm_package.lua模块连续报错get obj nil,说明固件包中的对象无法被正常获取action_lua(44): FirmwareType is nil明确指出固件类型为空InvalidFirmwarePackage(无效固件包)签名差异问题:
重签名工具(如hpm_resign)与原始构建系统通过manifest.yml配置生成的自签名包存在本质差异。重签名可能未能完整保留原始包的元数据结构。
上下文支持证据:
# 确保使用openUBMC提供的标准工具
# 1. 准备必要的签名文件
privatebinary.zip 和 dev_tools.zip
# 2. 使用bingo工具的hpm_signer命令进行重签名
bingo hpm_signer --input Ascend-hdk-910b-mcu_25.53.33.hpm \
--output kunta-signed.hpm \
--private-key your_private.key \
--certificate your_cert.pem
确认签名环境一致性:
community_enable=true配置正确验证签名流程:
# 使用hpm_verify验证签名结果
hpm_verify -f kunta-signed.hpm
检查包内容完整性:
确保重签名过程没有改变包内的配置文件(如conf.tar.gz)或其他关键元数据。
如果重签名持续存在问题,可考虑使用过渡包机制:
manifest.yml设置伙伴模式/opt/bmc/trust/partner/目录注意:有报告指出通过hpm_resign重签名的包与manifest配置生成的自签名包行为不一致。
建立标准化升级流程:
实施升级前验证:
hpm_verify工具预先验证包的完整性和签名有效性日志监控重点:
firmware_mgmt组件的日志输出validate_sign.lua和hpm_package.lua模块的异常信息可能是update.cfg中ComponentID和ComponentIDEx有问题,需要和platform.sr中保持一致,可以发一份一键收集和NPU卡的hpm包看一下吗
我看和华为版本的BMC的platform.sr的ComponentID和ComponentIDEx配置是一样的
什么情况下mcu的updete.cfg会有问题
是在这里下载的mcu包社区版-固件与驱动-昇腾社区
应该是打包的时候有问题,可以参考昇腾社区hpm解析出来的update.cfg
参考这个配置进行
[Firmware14]
ProductID=65535
ComponentID=29
FRUID=6
DllLen=0
Updatefile=libupgrade_29.so
BoardID=65535
BoardIDList=65535
ComponentIDEx=173058
DeviceID=65535
DeviceIDList=164