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:[AM6231][安全启动][HS-SE]正在验证散列完整性... FIT_CONFIG_VERIFY_REQUITED_KEYS:未找到签名节点:FDTD 坏数据散列

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1345798/processor-sdk-am62x-am6231-secure-boot-hs-se-verifying-hash-integrity-fit_config_verify_required_keys-no-signature-node-found-fdtd-bad-data-hash

器件型号:PROCESSOR-SDK-AM62X
主题中讨论的其他器件:AM625

您好、TI!

请查找我的前一个 TT : https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1339680/processor-sdk-am62x-am6231-hs-fs-varinant-otp-keywritter-support-for-convert-hs-fs-device-into-secure-device/5115741

使用此新票据约定安全启动转换。  

我制造出了安全器件、但内核映像和 DTB 无法加载。

请帮我解决这个问题。

请查找已连接的日志:

U-Boot 2023.04-00001-gf5b119738d-dirty (Mar 22 2024 - 19:14:21 +0530)

SoC: AM62X SR1.0 HS-SE
Model: Texas Instruments AM625 SK
EEPROM not available at 80, trying to read at 81
Reading on-board EEPROM at 0x51 failed -121
DRAM: 2 GiB
Core: 71 devices, 31 uclasses, devicetree: separate
MMC: mmc@fa10000: 0, mmc@fa00000: 1
Loading Environment from nowhere... OK
In: serial
Out: serial
Err: serial
EEPROM not available at 80, trying to read at 81
Reading on-board EEPROM at 0x51 failed -121
Net: eth0: ethernet@8000000port@1
Hit any key to stop autoboot: 0
=> setenv dfu_alt_info ${dfu_alt_info_emmc}
=> dfu 0 mmc 0
generic_phy_get_bulk : no phys property
#############################################################################################�
U-Boot SPL 2023.04-00001-gf5b119738d-dirty (Mar 21 2024 - 10:23:43 +0530)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
SPL initial stack usage: 13376 bytes
Trying to boot from MMC1
Authentication passed
Authentication passed
Authentication passed
Authentication passed
Authentication passed
Starting ATF on ARM64 core...

NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
NOTICE: BL31: Built : 00:42:57, Jan 13 2023

U-Boot SPL 2023.04-00001-gf5b119738d-dirty (Mar 22 2024 - 19:14:21 +0530)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
SPL initial stack usage: 1856 bytes
MMC: no card present
** Bad device specification mmc 1 **
Couldn't find partition mmc 1:1
Error: could not access storage.
Trying to boot from MMC1
Authentication passed
Authentication passed


U-Boot 2023.04-00001-gf5b119738d-dirty (Mar 22 2024 - 19:14:21 +0530)

SoC: AM62X SR1.0 HS-SE
Model: Texas Instruments AM625 SK
EEPROM not available at 80, trying to read at 81
Reading on-board EEPROM at 0x51 failed -121
DRAM: 2 GiB
Core: 71 devices, 31 uclasses, devicetree: separate
MMC: mmc@fa10000: 0, mmc@fa00000: 1
Loading Environment from nowhere... OK
In: serial
Out: serial
Err: serial
EEPROM not available at 80, trying to read at 81
Reading on-board EEPROM at 0x51 failed -121
Net: eth0: ethernet@8000000port@1
Hit any key to stop autoboot: 0
=> setenv dfu_alt_info ${dfu_alt_info_emmc}
=> dfu 0 mmc 0
generic_phy_get_bulk : no phys property
#############################################################################################K
Ctrl+C to exit ...
=> boot
switch to partitions #0, OK
mmc0(part 0) is current device
SD/MMC found on device 0
Failed to load 'boot.scr'
Can't set block device
## Error: "main_cpsw0_qsgmii_phyinit" not defined
37950546 bytes read in 574 ms (63.1 MiB/s)
name_fit_config=conf-ti_k3-am625-sk.dtb
## Loading kernel from FIT Image at 90000000 ...
Using 'conf-ti_k3-am625-sk.dtb' configuration
Verifying Hash Integrity ... fit_config_verify_required_keys: No signature node found: FDTD
Bad Data Hash
ERROR: can't get kernel image!
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
MMC: no card present
No EFI system partition
No EFI system partition

谢谢。

纳雷什。

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

    尊敬的 TI 支持部门:

    有任何关于这一点的更新吗?

    谢谢。

    纳雷什

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

    你好,Nareesh  

    目前、团队已与其他主题和上报工作紧密联系、我们很可能在下周的某个时间就能做到这一点。  

    此致

    穆库尔  

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

    尊敬的 Mukul:  

    明白。

    这对我们来说至关重要。  

     如果可能的话,请在这个问题上平行地帮助我。

    等待您的响应。

    谢谢。

    纳雷什

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

    您好、Nareesh、

    您能否分享您在创建内核拟合映像时要执行的步骤?

    另请注意、您是否可以使用"插入->代码"功能来附加任何代码或日志。 这有助于缩短回复时间并使其更具可读性。  

    此致、

    普拉桑特

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

    您好,Prashanth,  

    当然 ,我会附加如果任何日志/代码 avaialbe . 如果无法发布任何日志/代码、我不会粘贴到此窗口。

    按照下面的步骤创建"适合图像"。

    • 将内核映像(Image)重命名为 linux.bin 并复制到内核源目录。
    • 已将 附加的"fitimage-its-am62xx-evm"文件复制到内核源目录。
    • 发出以下命令以生成拟合图像  
      • mkimage -r -f /home/naresh/Documents/kernel/ti-linux-kernel/fitImage-its-am62xx-evm -k /home/naresh/Documents/bootloader/ti-u-boot/board/ti/keys -K ../../bootloader/ti-u-boot/arch/arm/dts/k3-am625-sk.dtb ../fitImage
    • 注意: 独立编译 uboot/内核源,而不是在 SDK 中。

     

    e2e.ti.com/.../fitImage_2D00_its_2D00_am62xx_2D00_evm.txt

    此外,我还尝试使用 Yocto Build 启动安全设备,甚至尝试使用 Yocto Build Images 启动相同的设备。

    我是否需要启用任何内核安全启动标志/uboot 安全启动标志 ?

    Br、

    纳雷什。

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

    您好、Nareesh、

    您是否在生成内核固件后重新编译了 A53 U-Boot?

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/09_01_00_08/exports/docs/linux/Foundational_Components_Kernel_Users_Guide html#build-uboot-again

    此致、

    普拉桑特

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

    您好,Prasha,  

    我将重建 u-boot 并加载 uboot 映像。

    但我有一个 quey ,在 Yocto 建立它将自动做正确. 创建 FitImage 后,是否要自动进行拉伸?

    我尝试了 Yocto 图像,即使我得到相同的签名/坏的哈希问题  

    谢谢。

    纳雷什

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

    您好,Prashanth,

    我尝试重建 u-boot 并加载了映像。

    甚至它扔相同的问题.

    JFYI ,下面的安全标志在我的内核 defconfig 中是可用的

    # Security options
    #
    CONFIG_KEYS=y
    # CONFIG_KEYS_REQUEST_CACHE is not set
    # CONFIG_PERSISTENT_KEYRINGS is not set
    # CONFIG_TRUSTED_KEYS is not set
    # CONFIG_ENCRYPTED_KEYS is not set
    # CONFIG_KEY_DH_OPERATIONS is not set
    # CONFIG_SECURITY_DMESG_RESTRICT is not set
    CONFIG_SECURITY=y
    CONFIG_SECURITYFS=y
    # CONFIG_SECURITY_NETWORK is not set
    # CONFIG_SECURITY_PATH is not set
    CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
    # CONFIG_HARDENED_USERCOPY is not set
    # CONFIG_FORTIFY_SOURCE is not set
    # CONFIG_STATIC_USERMODEHELPER is not set
    # CONFIG_SECURITY_SMACK is not set
    # CONFIG_SECURITY_TOMOYO is not set
    # CONFIG_SECURITY_APPARMOR is not set
    # CONFIG_SECURITY_LOADPIN is not set
    # CONFIG_SECURITY_YAMA is not set
    # CONFIG_SECURITY_SAFESETID is not set
    # CONFIG_SECURITY_LOCKDOWN_LSM is not set
    # CONFIG_SECURITY_LANDLOCK is not set
    CONFIG_INTEGRITY=y
    # CONFIG_INTEGRITY_SIGNATURE is not set
    CONFIG_INTEGRITY_AUDIT=y
    # CONFIG_IMA is not set
    # CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
    # CONFIG_EVM is not set
    CONFIG_DEFAULT_SECURITY_DAC=y
    CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,integrity,bpf"

    谢谢。

    纳雷什.

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

    您好、Nareesh、

    我尝试重建 u-boot 并加载了映像。

    甚至它扔相同的问题.

    [/报价]

    可能在运行时未反映更新。

    在 U-Boot 提示符下停止后、是否可以执行以下步骤:

    1) 1)记下 u-boot DTB 地址

    => bdinfo
    ...
    fdt_blob    = 0x00000000fde996b0
    ...

    2) 2)运行以下命令、并根据需要修改地址

    => fdt addr 0x00000000fde996b0
    Working FDT set to fde996b0
    => fdt list /signature
    signature {
            key-custMpk {
            };
    };

    如果一切正常、您应该获得签名节点、否则 u-boot 的更新未生效。

    此致、

    普拉桑特

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

    您好,Prashanth,

    请查看以下命令响应和日志  

    => bdinfo
    boot_params = 0x0000000000000000
    DRAM bank   = 0x0000000000000000
    -> start    = 0x0000000080000000
    -> size     = 0x0000000080000000
    flashstart  = 0x0000000000000000
    flashsize   = 0x0000000000000000
    flashoffset = 0x0000000000000000
    baudrate    = 115200 bps
    relocaddr   = 0x00000000ff61b000
    reloc off   = 0x000000007ee1b000
    Build       = 64-bit
    current eth = ethernet@8000000port@1
    ethaddr     = 88:0c:e0:6b:31:f5
    IP addr     = <NULL>
    fdt_blob    = 0x00000000fd5ebf40
    new_fdt     = 0x00000000fd5ebf40
    fdt_size    = 0x000000000000fe40
    Video       = dss@30200000 active
    FB base     = 0x00000000ff700000
    FB size     = 1920x1200x32
    multi_dtb_fit= 0x0000000000000000
    lmb_dump_all:
     memory.cnt  = 0x1
     memory[0]      [0x80000000-0xffffffff], 0x80000000 bytes flags: 0
     reserved.cnt  = 0x7
     reserved[0]    [0x87f00000-0x87f12fff], 0x00013000 bytes flags: 0
     reserved[1]    [0x9ca00000-0x9cafffff], 0x00100000 bytes flags: 0
     reserved[2]    [0x9cb00000-0x9e6fffff], 0x01c00000 bytes flags: 4
     reserved[3]    [0x9cb00000-0x9e6fffff], 0x01c00000 bytes flags: 4
     reserved[4]    [0x9e780000-0x9fffffff], 0x01880000 bytes flags: 4
     reserved[5]    [0xfc5cf000-0xffffffff], 0x03a31000 bytes flags: 0
     reserved[6]    [0xfd5e69d0-0xffffffff], 0x02a19630 bytes flags: 0
    devicetree  = separate
    arch_number = 0x0000000000000000
    TLB addr    = 0x00000000ffff0000
    irq_sp      = 0x00000000fd5eaff0
    sp start    = 0x00000000fd5eaff0
    Early malloc usage: 3b40 / 8000
    
    
    => fdt addr 0x00000000fde996b0
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    
    => setenv fdtaddr 0x00000000fd5ebf40
    
    
    => boot
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    Failed to load 'boot.scr'
    Can't set block device
    ## Error: "main_cpsw0_qsgmii_phyinit" not defined
    9160734 bytes read in 148 ms (59 MiB/s)
    name_fit_config=conf-ti_k3-am625-sk.dtb
    ## Loading kernel from FIT Image at 90000000 ...
       Using 'conf-ti_k3-am625-sk.dtb' configuration
       Verifying Hash Integrity ... fit_config_verify_required_keys: No signature node found: FDT_ERR_NOD
    Bad Data Hash
    ERROR: can't get kernel image!
    switch to partitions #0, OK
    mmc0(part 0) is current device
    Scanning mmc 0:1...
    BootOrder not defined
    EFI boot manager: Cannot load any image
    MMC: no card present
    
    Device 0: unknown device
    link up on port 1, speed 10, half duplex
    BOOTP broadcast 1
    BOOTP broadcast 2
    BOOTP broadcast 3

    请告诉我,如果我错了吗?

    请分享参考 HS-SE DFU-USB 图像和文件系统,其中包含 FitImage 和 dtb。 我将尝试将您的映像绑定到我的设备是否正在启动?

    注: 我仅使用 DFU-USB 引导方法 、因此请共享 HS-SE 安全器件的 DFU-USB 映像。  

    谢谢。

    纳雷什

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

    您好、Nareesh、

    请共享以下命令的输出

    => bdinfo
    ...
    fdt_blob    = 0x00000000fde996b0
    ...
    => fdt addr 0x00000000fde996b0
    Working FDT set to fde996b0
    => fdt list /signature
    signature {
            key-custMpk {
            };
    };
    

    将地址更改为`fdt addr`命令、变为您身边`fdt_blob`中所示的内容。

    此致、

    普拉桑特

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

    您好,Prashanth,

    请找到以下命令输出响应。

    => bdinfo
    boot_params = 0x0000000000000000
    DRAM bank   = 0x0000000000000000
    -> start    = 0x0000000080000000
    -> size     = 0x0000000080000000
    flashstart  = 0x0000000000000000
    flashsize   = 0x0000000000000000
    flashoffset = 0x0000000000000000
    baudrate    = 115200 bps
    relocaddr   = 0x00000000ff61b000
    reloc off   = 0x000000007ee1b000
    Build       = 64-bit
    current eth = ethernet@8000000port@1
    ethaddr     = 88:0c:e0:6b:31:f5
    IP addr     = <NULL>
    fdt_blob    = 0x00000000fd5ebf40
    new_fdt     = 0x00000000fd5ebf40
    fdt_size    = 0x000000000000fe40
    Video       = dss@30200000 inactive
    multi_dtb_fit= 0x0000000000000000
    lmb_dump_all:
     memory.cnt  = 0x1
     memory[0]      [0x80000000-0xffffffff], 0x80000000 bytes flags: 0
     reserved.cnt  = 0x5
     reserved[0]    [0x9ca00000-0x9cafffff], 0x00100000 bytes flags: 0
     reserved[1]    [0x9cb00000-0x9e6fffff], 0x01c00000 bytes flags: 4
     reserved[2]    [0x9e780000-0x9fffffff], 0x01880000 bytes flags: 4
     reserved[3]    [0xfc5e6000-0xffffffff], 0x03a1a000 bytes flags: 0
     reserved[4]    [0xfd5e69d0-0xffffffff], 0x02a19630 bytes flags: 0
    devicetree  = separate
    arch_number = 0x0000000000000000
    TLB addr    = 0x00000000ffff0000
    irq_sp      = 0x00000000fd5eaff0
    sp start    = 0x00000000fd5eaff0
    Early malloc usage: 3b40 / 8000
    
    => fdt addr 0x00000000fd5ebf40
    Working FDT set to fd5ebf40
    
    => fdt list /signature
    signature {
            key-custMpk {
            };
    };
    

    我的确使用以下命令创建了内核 FitImage

    $ mkimage -r -f fitImage-its-am62xx-evm -k ../../bootloader/ti-u-boot/board/ti/keys -K ../../bootloader/ti-u-boot/arch/arm/dts/k3-am625-sk.dtb ../fitImage
    
    FIT description: Kernel fitImage for Arago/6.1.33+gitAUTOINC+40c32565ca/am62xx-evm
    Created:         Thu Apr 11 01:15:44 2024
     Image 0 (kernel-1)
      Description:  Linux kernel
      Created:      Thu Apr 11 01:15:44 2024
      Type:         Kernel Image
      Compression:  gzip compressed
      Data Size:    37886464 Bytes = 36998.50 KiB = 36.13 MiB
      Architecture: AArch64
      OS:           Linux
      Load Address: 0x81000000
      Entry Point:  0x81000000
      Hash algo:    sha512
      Hash value:   39d8825e4aee5c1393840a27035f52eaca89dd633cb9f2715a599be88232d7e165776c0a62269000cee28e5f99efa41d165b7edbb627e816fdc6f864f0236d52
     Image 1 (fdt-ti_k3-am625-sk.dtb)
      Description:  Flattened Device Tree blob
      Created:      Thu Apr 11 01:15:44 2024
      Type:         Flat Device Tree
      Compression:  uncompressed
      Data Size:    59886 Bytes = 58.48 KiB = 0.06 MiB
      Architecture: AArch64
      Load Address: 0x83000000
      Hash algo:    sha512
      Hash value:   ea338c87f36c81bf23721f81e0aa5334d09143199b60eedc9f2130a4e3bacf730bc7192b5fd326e7ecdd668efce113b88b8969697b3ed64b7dad861c9d6a9110
     Default Configuration: 'conf-ti_k3-am625-sk.dtb'
     Configuration 0 (conf-ti_k3-am625-sk.dtb)
      Description:  1 Linux kernel, FDT blob
      Kernel:       kernel-1
      FDT:          fdt-ti_k3-am625-sk.dtb
      Hash algo:    sha512
      Hash value:   unavailable
      Sign algo:    sha512,rsa4096:custMpk
      Sign padding: pkcs-1.5
      Sign value:   2239acc18a29d53dc1eb5d081b61a172983ba447459f17f897ec5673ae307927dce009acd9436f12cb63ab778c8cad3903c432543a9166d03641cebd93f6c9e55e012f47dc9a6b509454ed9e189f7610779bccbfe9125455492725b922299fdaf3542b2fc7f77587551d4b858a8a6243be5418f9cfced76ea9de3b944e5e76f693edb2bab0448bdcdf96f5c595d586bb4e6483ac10348b9021b6c0fa34e7bf5d621872c7e1f8c530af718c2da9d25cc7ee6dddf3f09f309abd5f3a6aaebb5e3cbc0a0c88ce01a92cd16c19e3a326761bd505e8047cb2c25c34288050195e94b6e0d2cb31f838823d4517425f111b0848e5cd6be0c88c47e04ff78e63f662816fb1bbed38963d29ac292bb4ff4e92ffcc714adc927066034cf4e9d3cfa84b937cc6a8d29aa91fbee63642ea4f15579d722270886271d9f02046b7875f9bddaaaf613eeec25e97a5640ac0ae36aa73340cff87b3c9abd2a7cc9640358e5006389ca5020cbab218f8a8da889392fd4e7faff9188f8d4f303fd698dcfc089260fda3ac5f8c6fc4d219e8eb70d9d943ed2b56177d51555f7790a1d2c3d164d6dc2c8c7d05d56ed6be51c399176d270c5e4896e21c6e6eda9b2d45c0764cadbcf4a4324974ceb6bf527aac5a6f7db9875dba968d32c9617c9bb76bc2c64311a4cf6635dc792a9f63df9438b386aee74d59b1d884a390bb2972f6889839b532f87a66b3
      Timestamp:    Thu Apr 11 01:15:45 2024
      
      
      
    
      

    然后、我使用以下命令重新构建 Uboot 源、

    $ ti-u-boot$ make -j 12 ARCH=arm CROSS_COMPILE=aarch64-none-linux-gnu- BINMAN_INDIRS=../prebuilt-images/am62xx-evm BL31=../../prebuilt-images/am62xx-evm/bl31.bin TEE=../../prebuilt-images/am62xx-evm/bl32.bin
      ENVC    include/generated/env.txt
      UPD     include/generated/timestamp_autogenerated.h
      ENVP    include/generated/env.in
      ENVT    include/generated/environment.h
      CC      cmd/version.o
      AR      cmd/built-in.o
      CC      env/common.o
      CC      lib/efi_loader/dtbdump.o
      CC      lib/efi_loader/initrddump.o
      AR      env/built-in.o
      LD      lib/efi_loader/initrddump_efi.so
      OBJCOPY lib/efi_loader/initrddump.efi
      LD      lib/efi_loader/dtbdump_efi.so
      OBJCOPY lib/efi_loader/dtbdump.efi
      LD      u-boot
      OBJCOPY u-boot.srec
      OBJCOPY u-boot-nodtb.bin
      SYM     u-boot.sym
      RELOC   u-boot-nodtb.bin
      SHIPPED dts/dt.dtb
      MKIMAGE fit-dtb.blob
      COPY    u-boot.dtb
      MKIMAGE u-boot-dtb.img
      CAT     u-boot-fit-dtb.bin
      MKIMAGE u-boot.img
      COPY    u-boot.bin
      FDTGREP spl/dts/k3-am625-sk.dtb
      MKIMAGE spl/u-boot-spl.multidtb.fit
      CC      spl/env/common.o
      CC      spl/common/spl/spl.o
      AR      spl/env/built-in.o
      AR      spl/common/spl/built-in.o
      LD      spl/u-boot-spl
      OBJCOPY spl/u-boot-spl-nodtb.bin
      SYM     spl/u-boot-spl.sym
      CAT     spl/u-boot-spl-dtb.bin
      COPY    spl/u-boot-spl.bin
      BINMAN  .binman_stamp
      OFCHK   .config
    

    然后,我刷新了 Uboot 映像和内核文件系统,并观察到设备正在重新启动。 请查找日志   

    U-Boot SPL 2023.04-00001-gf5b119738d-dirty (Apr 11 2024 - 01:05:48 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
    SPL initial stack usage: 13376 bytes
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 00:42:57, Jan 13 2023
    
    U-Boot SPL 2023.04-00001-gf5b119738d-dirty (Apr 11 2024 - 01:19:00 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
    SPL initial stack usage: 1856 bytes
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:1
    Error: could not access storage.
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    
    
    U-Boot 2023.04-00001-gf5b119738d-dirty (Apr 11 2024 - 01:19:00 +0530)
    
    SoC:   AM62X SR1.0 HS-SE
    Model: Texas Instruments AM625 SK
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed -121
    DRAM:  2 GiB
    Core:  71 devices, 31 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed -121
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    Failed to load 'boot.scr'
    Can't set block device
    ## Error: "main_cpsw0_qsgmii_phyinit" not defined
    37950482 bytes read in 575 ms (62.9 MiB/s)
    name_fit_config=conf-ti_k3-am625-sk.dtb
    ## Loading kernel from FIT Image at 90000000 ...
       Using 'conf-ti_k3-am625-sk.dtb' configuration
       Verifying Hash Integrity ... sha512,rsa4096:custMpk+ OK
       Trying 'kernel-1' kernel subimage
         Description:  Linux kernel
         Type:         Kernel Image
         Compression:  gzip compressed
         Data Start:   0x900000f4
         Data Size:    37886464 Bytes = 36.1 MiB
         Architecture: AArch64
         OS:           Linux
         Load Address: 0x81000000
         Entry Point:  0x81000000
         Hash algo:    sha512
         Hash value:   39d8825e4aee5c1393840a27035f52eaca89dd633cb9f2715a599be88232d7e165776c0a62269000cee282
       Verifying Hash Integrity ... sha512+ OK
    ## Loading fdt from FIT Image at 90000000 ...
       Using 'conf-ti_k3-am625-sk.dtb' configuration
       Verifying Hash Integrity ... sha512,rsa4096:custMpk+ OK
       Trying 'fdt-ti_k3-am625-sk.dtb' fdt subimage
         Description:  Flattened Device Tree blob
         Type:         Flat Device Tree
         Compression:  uncompressed
         Data Start:   0x92421c28
         Data Size:    59886 Bytes = 58.5 KiB
         Architecture: AArch64
         Load Address: 0x83000000
         Hash algo:    sha512
         Hash value:   ea338c87f36c81bf23721f81e0aa5334d09143199b60eedc9f2130a4e3bacf730bc7192b5fd326e7ecdd60
       Verifying Hash Integrity ... sha512+ OK
       Loading fdt from 0x92421c28 to 0x83000000
       Booting using the fdt blob at 0x83000000
    Working FDT set to 83000000
       Uncompressing Kernel Image
    Error: Bad gzipped data
    gzip compressed: uncompress error -1
    Must RESET board to recover
    resetting ...
    

    谢谢。

    纳雷什

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

    您好、Nareesh、

    因此、在正确重建 U-Boot 之后、您已通过 Linux 内核的身份验证失败。

    工作 FDT 设置为83000000
    解压缩内核映像
    错误:错误的 gzipped 数据
    gzip 压缩:解压错误-1

    这意味着解压 Linux 内核时会出现问题。 如果 FIT 映像中的 Linux 内核未进行 gzip 压缩、则会发生这种情况。 在查看拟合生成步骤时、情况确实如此。

    将内核映像(映像)重命名为 linux.bin 并复制到内核源目录.

    请重命名 Image.gz linux.bin 以包含 gzip 压缩 Linux 内核。

    此致、

    普拉桑特

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

    您好、Nareesh、

    "验证散列完整性"日志如以下所示、确认通过了身份验证

    正在验证散列完整性... SHA512,rsa4096:custMpk+ OK

    此致、

    普拉桑特

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

    您好,Prashanth,

    下面的观察我找到,

    案例1 :当我 在 uboot 提示符中设置 boot_fit = 0时,它的引导正常,没有任何问题。 无论内核 defconfig 中启用了什么模块,这些模块都启用了,请查看下面的日志

    e2e.ti.com/.../kenrel_5F00_logs_5F00_when_5F00_boot_5F00_fit_5F00_is_5F00_zero.txt

    案例2 :但对于安全设备,当我设置 boot_fit 值为1 =>崩溃设备和重新启动设备后3到4分钟. 在这里,我看不到任何我在 kenrel defconfig 中启用的模块,这些模块在内核中没有启用。

    请查看以下日志

    e2e.ti.com/.../kernel_5F00_logs_5F00_when_5F00_boot_5F00_fit_5F00_is_5F00_one.txt

    注意:我刷写了 Yocto build images。

    谢谢。

    纳雷什

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

    您好、Nareesh、

    您未在 Case1和 CASE2中引导相同的 Linux 内核。 Case1和 CASE2日志中的不同机器模型名称可以很明显地看出这一点。

    情形1: [  0.00]机器模型:Texas Instruments AM625 SK TESSS

    CASE2: [  0.000000]机器模型:Texas Instruments AM625 SK

    请注意以下几点:

    BOOT_FIT = 1 => U-Boot 加载 FIT 映像、验证和解析它以加载 DTB 并加载/运行 Linux 内核。

    BOOT_FIT = 0 => U-Boot 会忽略拟合图像。 相反、它直接从/boot 目录加载 Linux 内核、从/boot/dtb/ti 目录加载 DTB。

    因此、请确保在这两种情况下都引导相同的 Linux 内核和 DTB。 然后、您至少应该会看到类似的行为。

    此致、

    普拉桑特

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

    您好,Prashanth,

    感谢您的回复。

    • 在 Yocto build 中:我在"my_k3-am625-sk.dts 文件中进行了内核 BSP 更改。   

    问题是、正如您所说、fitImage 采用默认设置、 K3-am625-SK.DTB 。 但是、我在中进行了所有内核 BSP 更改 my_k3-am625-sk.dtb.

    机器放电模型:德州仪器 AM625 SK TESSS -> 文件引用" my_k3-am625-sk.dtb  "、我在该处进行了内核 BSP 更改。

    机器放电模式:德州仪器 AM625 SK -> 此文件引用  "K3-am625-SK.dtb"未做任何更改的地方

     需要在 Yocto Build 中进行哪些更改才能" my_k3-am625-sk.dtb" fitImage 的文件部分、而不是 K3-am625-SK.DTB 构建的。

    请帮助我可以在 Yocto 中进行更改,以便" my_k3-am625-sk.dtb" 是 fitImage 的一部分吗?

    我尝试将 dtb 名称更 改为" my_k3-am625-sk.dtb."而不是 k3-am625-sk.dtb    在"fitimage-its-am62xx-EVM"中 、但甚至是它完全采用了 K3-am625-SK.DTB。

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    • 在独立内核源代码/uBoot 源代码中:我在 k3-am625-sk.dts 文件中进行了 kenrel 更改

    手动我尝试生成 "ftimage " (这里我在 k3-am625-sk.dtb 中做了 BSP 更改,所以在 fitimage-its-am62xx-evm 文件中我提到了 dtb 文件为 k3-am625-sk.dtb   ),我刷写了文件系统,然后在给引导命令后在 uboot ,我观察到下面的失败的短日志  

    错误:映像不是 FDT -必须重置主板才能恢复。
    FDT 创建失败!
    正在重置...

    为什么出现以上失败日志、请帮助我解决问题

    SoC:   AM62X SR1.0 HS-SE
    Model: Texas Instruments AM625 SK
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed -121
    DRAM:  2 GiB
    Core:  71 devices, 31 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed -121
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    Failed to load 'boot.scr'
    Can't set block device
    ## Error: "main_cpsw0_qsgmii_phyinit" not defined
    12745974 bytes read in 202 ms (60.2 MiB/s)
    name_fit_config=conf-ti_k3-am625-sk.dtb
    ## Loading kernel from FIT Image at 90000000 ...
       Using 'conf-ti_k3-am625-sk.dtb' configuration
       Verifying Hash Integrity ... sha512,rsa4096:custMpk+ OK
       Trying 'kernel-1' kernel subimage
         Description:  Linux kernel
         Type:         Kernel Image
         Compression:  gzip compressed
         Data Start:   0x900000f4
         Data Size:    12681833 Bytes = 12.1 MiB
         Architecture: AArch64
         OS:           Linux
         Load Address: 0x81000000
         Entry Point:  0x81000000
         Hash algo:    sha512
         Hash value:   7f196de0373f068085bf065b23f46fa86b9b609fffdb57ff1cd4123e6e9b9b4a69085e59
       Verifying Hash Integrity ... sha512+ OK
    ## Loading fdt from FIT Image at 90000000 ...
       Using 'conf-ti_k3-am625-sk.dtb' configuration
       Verifying Hash Integrity ... sha512,rsa4096:custMpk+ OK
       Trying 'fdt-ti_k3-am625-sk.dtb' fdt subimage
         Description:  Flattened Device Tree blob
         Type:         Flat Device Tree
         Compression:  uncompressed
         Data Start:   0x90c18494
         Data Size:    60008 Bytes = 58.6 KiB
         Architecture: AArch64
         Load Address: 0x83000000
         Hash algo:    sha512
         Hash value:   a8f4a0704416401c031cc2feba069301e420fbc41ef96cc3257d56233f587885f1dbda73
       Verifying Hash Integrity ... sha512+ OK
       Loading fdt from 0x90c18494 to 0x83000000
       Booting using the fdt blob at 0x83000000
    Working FDT set to 83000000
       Uncompressing Kernel Image
    ERROR: image is not a fdt - must RESET the board to recover.
    FDT creation failed!
    resetting ...
    
    

    e2e.ti.com/.../0044.fitImage_2D00_its_2D00_am62xx_2D00_evm.txt

    非常感谢您提前提供的帮助

    谢谢。

    纳雷什

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

    您好、Nareesh、

    Yocto =>我不是 Yocto 专家、但简单看一下、我认为您需要更改在机器配置文件中定义的 kernel_DEVICETREE。 对于 machine=am62xx-evm、它应该为 meta-ti-bsp/conf/machine/am62xx-evm.conf

    单机=>它主要是重叠的问题。 Linux 内核足够大、在未压缩时、它会覆盖加载的 DTB。 您可以尝试将 DTB 的加载地址更改为某个更高的地址、以便为 Linux 内核提供足够的空间。

    我认为最初的内核身份验证失败问题已经解决。 因此、如果上述建议无法奏效、请创建新的 主题帖、以便可以将其分配给主题专家。

    此致、

    普拉桑特

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

    您好,Prasahanth,

    • 它与独立构建一起工作。 我在 fitimage-its-*文件中更改了 dtb 地址并生成了内核 fitImage 并在电路板上刷写了映像。 然后设备引导成功。

    感谢您的 contiouos 支持!

    我知道下面2个目录之间的区别是什么关于在 OTP keywitter 工具中的关键字.

    • ~/ti/mcu_plus_sdk_am62x_09_00_00_19/source/security/sbl_keywriter/scripts/cert_gen/am62x/keys.
    • ~/ti/mcu_plus_sdk_am62x_09_00_00_19/source/security/sbl_keywriter/scripts/cert_gen/am62x/keys_devel

    两个目录都有密钥? 那么,它们之间的差异是什么?

    谢谢。

    纳雷什

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

    您好、Nareesh、

    差异如下:

    keys 文件夹=>此文件夹包含由"./gen_keywr_cert.sh -g"命令生成的自定义密钥。

    keys_devel =>此文件夹包含 TI 的虚拟密钥、仅用于测试目的。

    此致、

    普拉桑特

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

    您好、Prashanth、  

    感谢您的答复。

    我已使用自定义密钥加载了引导加载程序映像、并尝试检查是否进行了身份验证 (这是我尝试了主动测试用例)

    在该设备未引导后。  

    获取以下错误日志。

    SYSFW ABI:3.1 (固件版本0x0009 '9.0.5 - v09.00.05 (Kool Koala)')
    SPL 初始堆栈用法:13376字节
    尝试从 MMC1引导
    MMC_LOAD_IMAGE_RAW_SECTOR:MMC 块读取错误
    **分区1在设备0上无效**
    SPL_REGISTER_FAT_DEVICE:fat 寄存器 err --1
    SPL_LOAD_IMAGE_FAT:读取图像 tispl.bin 时出错、err --1
    SPL:无法从所有启动设备引导
    ###错误###请重置主板###

    主机中未显示 DFU-USB 节点。   

    请建议我应该做什么 ,以检测主机中的 USB 引导/闪存映像.

    请帮我解决这个问题?

    谢谢。

    纳雷什

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

    我注意到、您已经为此问题创建了单独的主题

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1349418/processor-sdk-am62x-am6231-error-please-reset-the-board

    我们将继续开展这项工作。

    谢谢!

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

    当然.

    谢谢。

    纳雷什