使用 csr_packet下packet.sh脚本创建的hpm包缺少签名要怎样解决?

我打算构建风扇板cpld hpm包,按照社区的如下步骤修改了update.cfg文件(hpm_devkit.config我没修改)并把cpld01.bin和cpld02.bin文件放到了csr_packet目录下,执行./packet.sh package . True命令后生成了devkit.hpm文件,二进制打开该文件后发现文件头部没有任何签名的内容,请问怎样才能实现生成的hpm包有签名文件呢?

update.cfg文件的截图如下:

构建log如下:

cpld01.bin
cpld02.bin
OK!
beforeaction.sh
afteraction.sh
CfgFileList.conf
update.cfg
Key header is 0xffffffee
cpld01.bin
cpld02.bin
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 69
line_buf: image_name=devkit.hpm
key: image_name, value:devkit.hpm
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 66
line_buf: format_version=1
key: format_version, value:1
line_buf: 64
line_buf: device_id=1
key: device_id, value:1
line_buf: 6d
line_buf: manufacture_id=0x7DB
key: manufacture_id, value:0x7DB
line_buf: 70
line_buf: product_id=0x1
key: product_id, value:0x1
line_buf: 69
line_buf: image_capabilities=9
key: image_capabilities, value:9
line_buf: 63
line_buf: components=9
key: components, value:9
line_buf: 73
line_buf: selftest_timeout=50
key: selftest_timeout, value:50
line_buf: 72
line_buf: rollback_timeout=50
key: rollback_timeout, value:50
line_buf: 69
line_buf: inaccessibility_timeout=50
key: inaccessibility_timeout, value:50
line_buf: 65
line_buf: earliest_compatible_revision=1.00
key: earliest_compatible_revision, value:1.00
line_buf: 66
line_buf: firmware_revision=2.01
key: firmware_revision, value:2.01
line_buf: 61
line_buf: auxiliary_firmware_revision=0x0000aa01
key: auxiliary_firmware_revision, value:0x0000aa01
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 6f
line_buf: oem_length=0
key: oem_length, value:0
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 62
line_buf: backup_action=0xff
key: backup_action, value:0xff
line_buf: 62
line_buf: backup_components=0
key: backup_components, value:0
line_buf: 70
line_buf: prepare_action=1
key: prepare_action, value:1
line_buf: 70
line_buf: prepare_components=0x00020001
key: prepare_components, value:0x00020001
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 2f
line_buf: 75
line_buf: upload_action=2
key: upload_action, value:2
line_buf: 75
line_buf: upload_components=0x00000001
key: upload_components, value:0x00000001
line_buf: 66
line_buf: firmware_version=5.16
key: firmware_version, value:5.16
line_buf: 61
line_buf: auxiliary_firmware_revision=0x00000000
key: auxiliary_firmware_revision, value:0x00000000
line_buf: 66
line_buf: firmware_description=CONFIG
key: firmware_description, value:CONFIG
line_buf: 66
line_buf: file_number=1
key: file_number, value:1
line_buf: 66
line_buf: file_path=/data/conf.tar.gz
key: file_path, value:/data/conf.tar.gz
line_buf: 66
line_buf: file_name=conf.tar.gz
key: file_name, value:conf.tar.gz
line_buf: 75
line_buf: upload_action=2
key: upload_action, value:2
line_buf: 75
line_buf: upload_components=0x80000000
key: upload_components, value:0x80000000
line_buf: 66
line_buf: firmware_version=0.00
key: firmware_version, value:0.00
line_buf: 61
line_buf: auxiliary_firmware_revision=0x00000000
key: auxiliary_firmware_revision, value:0x00000000
line_buf: 66
line_buf: firmware_description=EEPROM
key: firmware_description, value:EEPROM
line_buf: 66
line_buf: file_number=1
key: file_number, value:1
line_buf: 66
line_buf: file_path=/data/eeprom.tar.gz
key: file_path, value:/data/eeprom.tar.gz
line_buf: 66
line_buf: file_name=eeprom.tar.gz
key: file_name, value:eeprom.tar.gz
line_buf: 2f
line_buf: 2f
Generate devkit.hpm Success.

生成的二进制文件截图:

签名不是一般都用bmcgo么,bingo不支持签名吧

是用bmcgo的工具试试,不要用bingo的

这种打hpm包的方法是cicd那天说的 :rofl: ,hpm包倒是打出来了没签名没法用

大佬,有用bmcgo实现过场外生成比如cpld或者psu的签名hpm包么?

当时也讲了需要单独签名。

签名和hpm出包是两个独立逻辑,请参考bmc签名逻辑完成固件签名,可以论坛搜索"签名"的帖子。

跟工具无关。

HPM打包和HPM签名是两个独立流程,只是bmcgo在bmc自身固件打包时把两个流程放在脚本里面,你们也可以写一段脚本对接各自的签名平台完成电源、风扇等部件类固件自动出包签名。