单分区镜像 - 2023.2 简体中文

Bootgen 用户指南 (UG1283)

Document ID
UG1283
Release Date
2023-10-18
Version
2023.2 简体中文
该功能可为 Bootgen 根据 U-Boot 提示所创建的单分区(非比特流)镜像的身份验证和/或解密提供支持。
注释: 该并能不支持含多个分区的镜像。

用于加载安全镜像的 U-Boot 命令

zynqmp secure <srcaddr> <len> [key_addr] 

此命令会验证位于地址 $src 的安全镜像的长度是否是 $len bytes\。如需使用用户密钥来进行解密,可指定可选 key_addr。

仅执行身份验证的用例

要在 U-Boot 处仅使用身份验证,请使用 bif 创建已经过身份验证的镜像,如以下示例所示。

  1. 创建在 U-Boot 处执行身份验证的单分区镜像。
    注释: 如果提供 elf 文件,它不应包含多个可加载节。如果 elf 文件包含多个可加载节,则应将输入转换为 .bin 格式,并在 bif 中提供 .bin 作为输入。以下提供了 bif 示例:
    the_ROM_image:
    {
    	[pskfile]rsa4096_private1.pem
    	[sskfile]rsa4096_private2.pem
    	[auth_params] ppk_select=1;spk_id=0x1
    	[authentication = rsa]Data.bin
    }
  2. 生成镜像后,请将经过身份验证的镜像下载到 DDR。
  3. 执行 U-Boot 命令以对安全镜像进行身份验证,如以下示例所示。
    ZynqMP> zynqmp secure 100000 2d000
    Verified image at 0x102800
  4. U-Boot 会在成功完成身份验证后返回实际分区的起始地址。发生操作失败时,U-Boot 会打印错误代码。如果 RSA_EN eFUSE 已编程,那么必须执行镜像身份验证。启用 eFUSE RSA 时不支持启动头文件身份验证。

仅执行加密的用例

如果镜像仅加密,则不支持器件密钥。未启用身份验证时,仅支持 KUP 密钥解密。