前言
根据论坛中大佬回复,结合实际经验,汇总CPLD场外vme文件打包的流程。
环境准备
-
- 安装bingo
-
- 复制 /usr/share/bingo/csr_packet
-
- 参考自签名CA创建以及HPM签名指导 生成crldata.crl和image.filelist.cms放置在csr_packet/
文件修改
- 1.update.cfg
如果有场内通过vme文件打包过CPLD的hpm升级包,那么将升级包刷入到机器上,在CPLD升级过程中,执行telnet将日志中提示的升级包临时目录/dev/shm/upgrade/XXXXXXXX/,复制到/tmp目录中(升级完会自动将文件清除)

参考复制出的update.cfg,可以直接进行替换,主要不同点在ComponentID、Updatefile、Uid字段,一般修改Uid字段即可,ComponentID可以参考如下链接。https://support.huawei.com/enterprise/zh/doc/EDOC1100078642/80b2be7f
如果没有场内打包的文件,具体固件的配置参数可以找PAE或sig-hardware了解。
- 2.packet.sh
- 2.1将脚本内的*.bin修改为*.vme
- 2.2修改update_image_filelist函数
function update_image_filelist()
{
local sha256val=$(sha256sum devkit.hpm | awk '{print $1}')
cat <<EOF > image.filelist
Manifest Version: 1.0
Create By: openUBMC
Name: cpld_mf.hpm
SHA256-Digest: ${sha256val}
EOF
}
- 3.重命名vme文件
单CPLD需要将打包的vme文件重命名为cpld.vme,并放置在复制的csr_packet目录下。
此处代码会进行拼接路径解析包,因此需要进行重命名。
文件打包和签名
执行如下命令
# 文件打包
packet.sh package . False
# 文件签名
packet.sh rebuild .
