潮声隔雨深 · 2021年12月28日

全志R329如何解决Tina双系统安全固件启动失败问题?

请问如何解决全志R329中Tina双系统安全固件启动失败问题?

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2021年12月29日
本回答来源全志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

附件:uboot-set-boot-cert-name.patch

你的回答
关注数
1
收藏数
0
浏览数
2309
极术小姐姐
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息