This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-J721E:tda4evm

Guru**** 2422790 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1536465/processor-sdk-j721e-tda4evm

器件型号:PROCESSOR-SDK-J721E


工具/软件:

你(们)好

平台 J721E-EVM((GP 器件)

我有  安全启动相关的主要问题主题:

1) 我已使用自己的 AES 256 密钥从 gen_keywr_cert.sh 脚本创建了 x509 证书。 然后、我运行 make 命令以使用其中的 x509 创建 spl。 现在、根据我的理解、我可以将生成的 spl 文件的名称 (keywriter_img_j721e_release.tiimage) 修改为 tiboot3.bin、并将其放置在 SD 卡中、而不是原来的 tiboot3.bin 文件。 问题是:

a.生成的名为  keywriter_img_j721e_release.tiimage 的 SPL 文件仅包含 x509 证书、或者也是加密的?

b.我有 GP 处理器、我能启动电路板吗? 我必须等到让 FS 器件使用密钥编写器将其转换为 HS-SE 后、但我想在测试中再往前走一步。

2) 从这个文档:我知道我必须修改 Linux SDK (psdkla) 中的一些内容,以便创建可以从 HS 器件引导的 HS 引导文件。 问题是:

a.文档似乎未更新、目前我正在处理 SDK 10。 我检查了他们所引用的补丁是否已经在 SDK 上实现、到目前为止一切顺利。 但有些事情,如 Rules.make 上的更改, 不再适用,因为 defconfig 的名称已更改。 您能提供正确的答案吗?

b.如果在 psdkra 上创建的证书在 psdkla 中不存在、因为没有提到从一侧到另一侧复制任何内容、平台如何验证这些新的引导文件 x509 证书?

提前感谢您的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    注意:

    我提到的有关“从这些文档中:“的文档

    https://www.ti.com/lit/an/sprad04/sprad04.pdf?ts = 1710220582340&ref_url=https%253A%252F%252Fwww.google.com%252F

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1061584/faq-tda4vm-hs-building-booting-on-hs-devices-on-latest-linux-sdk

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好  

    b. 我有 GP 处理器、是否能够启动电路板? 我必须等到获得 HS-SEI FS 器件后再使用 Keywritter 将其转换为 HS-SE 器件、但我想在测试中再向前迈进一步。

    上述 二进制文件是一个 Keywriter 应用、其任务是将数据刻录到 effuse 中、如根信任密钥 MSV.SWREV 等 您无法在 GP 器件中运行 Keywriter 工具。 HS 器件也必须使用。

    您可以参阅 PDK 文档、以了解 Keywriter 过程:

    假设 PDK 文档参考的是 TI 较旧的 8.2 SDK、但这也适用于较新的 SDK。

    b. 如果在 psdkra 上创建的证书在 psdkla 中不存在、因为没有提到从一侧到另一侧复制任何内容、平台如何验证这些新的引导文件 x509 证书?

    问题对我来说不是很清楚,您的引导流程是什么,您可以在这里添加更多详细信息。

    此致
    Diwakar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    关于问题 1.a、我认为我的假设是正确的。

    关于问题 2.b、您在回答问题 2.a 时回答了该问题、谢谢。

    关于你对我的问题 2.a 的回答、我有一个新问题:

    我检查了源代码、 k3-j721e-binman.dtsi 文件仅引用了 custMPk.pem、可在 arch/arm/mach-k3/keys 上找到。 如何从我使用 gen_keywr_cert.sh 脚本创建的 x509 证书中获取.pem 文件? 或者、我是否可以将 custMPK.pem 更改为 custMPK.key、然后使用我用于创建 x509 证书的 AES 256 密钥?

    提前感谢您的回答。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我们将在 2 天内对此做出回复。

    此致
    Diwakar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    如何从我使用 gen_keywr_cert.sh 脚本创建的 x509 证书中获取该.pem 文件?

    此脚本用于生成 Keywriter 证书 blob、您的问题对我来说不清楚。

    在生成 blob 之前,你应该有 smpk 密钥,你会将该密钥作为参数传递给脚本,如下所示:

    ./gen_keywr_cert.sh -s keys/smpk.pem --smek keys/smek.key -b keys/bmpk.pem --bmek keys/bmek.key -t ti_fek_public.pem -a keys/aes256.key

    如果没有 为 脚本提供密钥、它将生成随机密钥。

    我建议您完成下面的脚本、以便更好地理解。  

    • generate_test_binaries.sh
    • gen_keywr_cert.sh

    此致
    Diwakar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    我在运行脚本时只使用了-t 和-A 选项、而省略了其他选项。

    这意味着、每次我只使用我提到的这两个选项运行命令时、脚本都会自动生成其他选项的随机键、用于-s、-smek 等选项?

    如果我手动生成 smpk.pem 密钥、是否确定这是将进入 arch/arm/mach-k3/keys 目录的文件? 为什么不是 bmpk.pem 密钥文件?

    此致、

    阿尔弗雷德·平诺克。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     尊敬的 Alfred:

    因此、每次我只使用我提到的这两个选项运行命令时、脚本都会自动生成
    的随机密钥。

    如果未将 YES 脚本作为参数提供给脚本、则 YES 脚本将在内部生成信任密钥的随机根。

    您也可以在生成证书 blob 时在日志中检查相同的内容。

    如果我手动生成 smpk.pem 密钥、是否确定这是将进入 arch/arm/mach-k3/keys 目录的文件? 为什么不是 bmpk.pem 密钥文件?

    现在、在默认 SDK 中、我们使用的是 TI 虚拟开发密钥。 您可以将 pdk/packages/ti/boot/keywriter/scripts/keys/smpk.pem 中的密钥与  arch/arm/mach-k3/keys/中的密钥进行比较

    为什么不是 bmpk.pem 密钥文件?

    BMPK 是备份密钥。 如果您的主根信任密钥 (smpk) 受到威胁、则可以通过任何方式。 在这种情况下、您可以使用此备份密钥对映像进行身份验证。

    建议您浏览 以下文档以及之前分享的参考链接、以便更好地理解流程:

    https://www.ti.com/lit/an/sprad04/sprad04.pdf?ts = 1752120035890&ref_url=https%253A%252F%252Fwww.google.com%252F

    此致
    Diwakar