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-AM62X:使用 Processor SDK 生成签名和加密的引导二进制文件

Guru**** 2463330 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1477328/processor-sdk-am62x-generate-signed-and-encrypted-boot-binaries-using-processor-sdk

器件型号:PROCESSOR-SDK-AM62X

工具与软件:

我目前正在尝试使用 TI Processor SDK ti-processor-sdk-linux-am62xx-EVM-09.02.01.10生成已签名和加密的引导映像(tiboot3.bin tispl.bin 和 u-boot.img)。 我已经放置了密钥 板/ti/密钥 地理位置。 这仅包括 custMpk.pem 和 custMpk.crt 后者使用"openssl req -batch -new -x509 -key keys/生成 custMpk .pem -out keys/ custMpk .crt "

out 文件 tiboot3.bin tispl.bin 和 u-boot.img 似乎仍然没有签名。 正确对二进制文件进行签名需要执行哪些步骤?

其次、如何加密二进制文件? 如果我在目标中融合了加密密钥、是否有必要对二进制进行加密、还是仍然可以跳过加密?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    输出文件 tiboot3.bin tispl.bin 和 u-boot.img 似乎仍然没有符号。 正确对二进制文件进行签名需要执行哪些步骤?[/QUOT]

    构建并签名 u-boot 二进制文件的一个选项是在安装 Linux SDK 后从顶层 SDK 文件夹运行"make u-boot"。 生成的二进制文件和签名的二进制文件位于"sdk_installation/board-support/u-boot-build/"下。

    [quote userid="642408" url="~/support/processors-group/processors/f/processors-forum/1477328/processor-sdk-am62x-generate-signed-and-encrypted-boot-binaries-using-processor-sdk 其次、如何加密二进制文件? 如果我在目标中融合了加密密钥、是需要加密二进制还是仍然可以跳过加密?[/QUOT]

    二进制加密/解密在安全引导流程中是可选的、而 Linux SDK 当前仅支持通过签名验证进行完整性检查、而不支持二进制加密/解密。
    此致!
    -hong

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

    感谢您的答复、也许我的问题不清楚。 我再次使用顶层 SDK 文件夹中的"make u-boot"制作了 u-boot。

    我可能会列出我的所有步骤。

    通过生成4个 Keywriter 二进制并以增量顺序融合、我将目标与融合。 使用以下命令生成证书、然后生成并运行单独的 Keywriter 二进制文件

    ./ gen_keywr_cert.sh --mSv 0xC0FFE -t tifek/ti_fek_public.pem

    ./ gen_keywr_cert.sh -t tifek/ti_fek_public.pem --bmpk keys/bmpk.pem ---bmek keys/bmek.key

    ./ gen_keywr_cert.sh -t tifek/ti_fek_public.pem -a keys/smpk keys/smpk.pem aes256.key ---smk keys/smek.key

    ./ gen_keywr_cert.sh -t tifek/ti_fek_public.pem --keycnt 2 -- keyrev 1.

    在使用包含 KeyRev 1的最后一个证书成功运行 Keywriter 后、器件现在处于 HS-SE 状态。

    现在我必须运行带符号的启动加载程序、因为这是我们的定制板、我们使用 DFU 模式进行闪存。 为此、我需要首先生成 DFU 引导加载程序

    我在 ti-processor-sdk-linux-am62xx-evm-09.02.01.10/Rules.make 中进行了更改

    #platform?=am62xx-evm

    Platform=am62xx-LP-EVM-DFU

     

    ifeq ($(platform)、am62xx-LP-EVM-DFU)
       uBoot_MACHINE=am62x_lpsk_a53_defconfig
       uBoot_machine_r5=am62x_lpsk_r5_usbdfu_defconfig
       MKIMAGE_DTB_FILE=A53/arch/arm/dts/k3-am62-LP-SK.dtb
    字节序

    现在使用 am62x_lpsk_r5_usbdfu_defconfig 来构建 tiboot3。

    我做了一个符号链接 am62xx-LP-EVM-DFU -> am62xx-LP-EVM 在 ti-processor-sdk-linux-am62xx-evm-09.02.01.10/board-support/prebuilt-images 中、当我看到一些错误时、需要使用它(不确定它执行的操作是否正确)

    我终于放了钥匙 custMpk.pem 和 custMpk.crt 板/ti/密钥 位置已运行"make u-boot" 应用手册

    然后、我使用以下文件刷写目标

    TI-PROCESSOR-SDK-LINUX-AM62xx-EVM-09.02.01.10/board-support/u-boot-build/R5/tiboot3-am62x-hs-evm.bin

    TI-PROCESSOR-SDK-LINUX-AM62xx-EVM-09.02.01.10/board-support/u-boot-build/a53/u-boot.img

    TI-PROCESSOR-SDK-LINUX-AM62xx-EVM-09.02.01.10/board-support/u-boot-build/A53/tispl.bin

    对于刷写、我使用引导引脚将目标置于 DFU 模式、并随后运行

    dfu-util -R -A 引导加载程序-D tiboot3-am62x-hs-evm.bin->串行端口输出端没有日志可能是身份验证失败

    dfu-util -R -a tispl.bin -D tispl.bin ->没有支持 DFU 的 USB 设备可用错误、因为我认为第一个二进制身份验证没有通过

    所以我现在卡在这个点。 我希望这可以帮助您找到我的错误所在。

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

    我发现了一个愚蠢的错误、我的设备树和 defconfig 错误。 我需要根据我的板对其进行调整。

    由于我正在使用我的定制电路板、如何在我的定制电路板的"ti-processor-sdk-linux-am62xx-evm-09.02.01.10/board-support/prebuilt-images"中生成二进制文件?

    尽管未完全调整器件树和 defconfig、但与 MAIN_uart0相关的配置仍然与中相同 am62xx-LP-EVM 因此在运行 DFU 后、我应该在 main_uart0得到一些输出 tiboot3-am62x-hs-evm.bin 实时计算。

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

    我现在可以启动如前面注释所述、我的定制板配置有误。 感谢您的支持。