Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

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

    其它全志芯片讨论区
    r329 r328 r818 faq 技术支持
    1
    1
    1267
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • q1215200171
      budbool LV 9 last edited by

      问题描述

      内核双备份系统安全固件启动失败,有如下log:

      [02.968]kernel len:10659840, part len:15728640
      pubkey boot_a not found
      check rootpk[boot_a] in rootcert fail
      [03.050]boota: verify the boot_a failed
      

      问题分析

      从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 Reply Last reply Reply Quote Share 0
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策