请问如何解决全志R329中Tina双系统安全固件启动失败问题?
本回答来源全志R329如何解决Tina双系统安全固件启动失败问题?
从log中看,提示没有找到名字为boot_a的公钥。
此问题是签名key名字与分区名的匹配问题。客户为双系统,内核分区有两个,名字分别为boot_a与boot_b,均使用boot.fex。公钥的名字可以从签名配置文件dragon_xxx.cfg中查看,下面是boot.fex镜像对应的公钥名字为“boot”。
[toc1]
onlykey=boot, boot.fex, SCPFirmwareContentCertPK
在uboot校验时,默认会根据分区名来找key,但是没有名为boot_a的key,所以提示找不到。
解决办法
有两种处理办法。
第一种,修改uboot校验逻辑,对于内核分区,强制设置key名字为boot,修改如下:
tina/lichee/brandy-2.0/u-boot-2018/board/sunxi/sunxi_image_verifier.c,补丁如附件uboot-set-boot-cert-name.patch所示。
第二种,boot_a与boot_b使用不同的镜像名字,需要修改dragon_xxx.cfg文件,改动如下:
[toc1]
onlykey=boot_a, boot_a.fex, SCPFirmwareContentCertPK
onlykey=boot_b, boot_b.fex, SCPFirmwareContentCertPK