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.

[参考译文] AM6422:预构建 fitImage 不能't boot

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1501025/am6422-prebuilt-fitimage-doesn-t-boot

器件型号:AM6422

工具/软件:

您好、

我们有一个使用 AM6422的定制电路板。

我们可以使用映像引导 Linux。

现在我尝试从 SDK 引导 TI 预编译的映像 fitImage。

此处输出:

=> setenv fdtfile ti/k3-am642-sk.dtb
=>运行 GET_FIT_CONFIG
=> bootm ${loadaddr}#${name_fit_config}
##从 FIT 图像加载内核82000000 ...
  使用"conf-ti_k3-am642-sk.dtt"配置
  正在验证哈希完整性...确定
  正在尝试"kernel-1"内核子映像
    描述: Linux 内核
    键入:        内核映像
    压缩: gzip 压缩
    数据开始:  0x820000e0
    数据大小:   6603945字节= 6.3 MIB
    架构:AArch64
    操作系统:          Linux
    加载地址:0x81000000
    入口点: 0x81000000
    哈希算法:   SHA512
    哈希值:  4ff47e3d93c4fa16265e50ce234834e5cc09dda56c3468852369cc9d5974f0ec3f8dfae3a878c4386ac211ff83281199bcf9c1f5ba2c505136a708cddfdfdfdfb66f
  正在验证哈希完整性... SHA512+确定
##从 FIT 图像加载 FDT 82000000 ...
  使用"conf-ti_k3-am642-sk.dtt"配置
  正在验证哈希完整性...确定
  尝试'fdt-ti_k3-am642-sk.dtb' fdt 子映像
    说明: 平展设备树块
    类型:        平面设备树
    压缩: 未压缩
    数据开始:  0x8265b1f8
    数据大小:   61494字节= 60.1KiB
    架构:AArch64
    加载地址:0x83000000
    哈希算法:   SHA512
    哈希值:  213879ecb927feac06a6786bbd7b09ced931f2094b2df301a099d9d7f232b5dd23d7e6aabf8e9f30def518c15de6542582b4beb28a75fc437d6fa5c703a996a1
  正在验证哈希完整性... SHA512+确定
  将 FDT 从0x8265b1f8加载到0x83000000
  使用位于0x83000000的 FDT blob 进行引导
工作 FDT 设置为83000000
  将内核映像解压缩到81000000
错误:保留 FDT 存储器区域失败(addr=9e800000 size=1800000 flags=4)
  加载设备树至0000000087fed000、结束0000000087fff035 ...正常
工作 FDT 设置为87fed000

 

正在启动内核...

 

I/O:辅助 TC 1正在初始化
I/O:辅助 TC 1切换到正常世界引导
I/O:启用保留共享内存 TC
I/O:启用动态共享内存 TC
I/World:已禁用正常 TC 虚拟化支持
I/O TC:禁用异步通知

我预计这里会有来自内核的消息。

我们可以看到内核不打印任何消息。

有什么想法为什么?

此致

Walter

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

    您好:

    您能否附加完整的引导日志?

    请使用"插入->代码"功能附加日志以提高可读性。

    谢谢!

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

    您好 Prashant、

    此处为完整引导日志:

    Rebooting... [   43.337731] reboot: Restarting system
    
    U-Boot SPL 2024.04 (Mar 24 2025 - 06:43:38 +0100)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    ABB-41 detected
    SPL initial stack usage: 13392 bytes
    Board name:        ABB-41
    Version:           A
    Software revision: 01
    Serial number:     0484
    initializing started
    gpio initialized
    gpmc initialized
    powerfail initialized
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    Loading Environment from MMC... Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    I/TC:
    I/TC: OP-TEE version: 4.2.0-dev (gcc version 13.3.0 (GCC)) #1 Fri Apr 12 09:51:21 UTC 2024 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check optee.readthedocs.io/.../porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: GIC redistributor base address not provided
    I/TC: Assuming default GIC group status and modifier
    I/TC: SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2024.04 (Mar 24 2025 - 06:45:20 +0100)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    ABB-41 detected
    Board name:        ABB-41
    Version:           A
    Software revision: 01
    Serial number:     0484
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    
    
    U-Boot 2024.04 (Mar 24 2025 - 06:45:20 +0100)
    
    SoC:   AM64X SR2.0 HS-FS
    Model: ABB PM5680
    ABB-41 detected
    Board: ABB-41 rev A
    DRAM:  475 MiB (effective 512 MiB)
    cdns3_bind: unsupported dr_mode
    Core:  79 devices, 27 uclasses, devicetree: separate
    NAND:  0 MiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Failed to probe prueth driver
    ABB-41 detected
    Net:   eth0: ethernet@8000000port@1
    Warning: ethernet@8000000port@2 (eth1) using random MAC address - 32:95:e4:44:c4:96
    , eth1: ethernet@8000000port@2
    Hit any key to stop autoboot:  0
    =>
    =>
    =>
    =>
    => setenv fdtfile ti/k3-am642-sk.dtb
    => run get_fit_config
    => bootm ${loadaddr}#${name_fit_config}
    ## Loading kernel from FIT Image at 82000000 ...
       Using 'conf-ti_k3-am642-sk.dtb' configuration
       Verifying Hash Integrity ... OK
       Trying 'kernel-1' kernel subimage
         Description:  Linux kernel
         Type:         Kernel Image
         Compression:  gzip compressed
         Data Start:   0x820000e0
         Data Size:    6603945 Bytes = 6.3 MiB
         Architecture: AArch64
         OS:           Linux
         Load Address: 0x81000000
         Entry Point:  0x81000000
         Hash algo:    sha512
         Hash value:   4ff47e3d93c4fa16265e50ce234834e5cc09dda56c3468852369cc9d5974f0ec3f8dfae3a878c4386ac211ff83281199bcf9c1f5ba2c505136a708cddfdfb66f
       Verifying Hash Integrity ... sha512+ OK
    ## Loading fdt from FIT Image at 82000000 ...
       Using 'conf-ti_k3-am642-sk.dtb' configuration
       Verifying Hash Integrity ... OK
       Trying 'fdt-ti_k3-am642-sk.dtb' fdt subimage
         Description:  Flattened Device Tree blob
         Type:         Flat Device Tree
         Compression:  uncompressed
         Data Start:   0x8265b1f8
         Data Size:    61494 Bytes = 60.1 KiB
         Architecture: AArch64
         Load Address: 0x83000000
         Hash algo:    sha512
         Hash value:   213879ecb927feac06a6786bbd7b09ced931f2094b2df301a099d9d7f232b5dd23d7e6aabf8e9f30def518c15de6542582b4beb28a75fc437d6fa5c703a996a1
       Verifying Hash Integrity ... sha512+ OK
       Loading fdt from 0x8265b1f8 to 0x83000000
       Booting using the fdt blob at 0x83000000
    Working FDT set to 83000000
       Uncompressing Kernel Image to 81000000
    ERROR: reserving fdt memory region failed (addr=9e800000 size=1800000 flags=4)
       Loading Device Tree to 0000000087fed000, end 0000000087fff035 ... OK
    Working FDT set to 87fed000
    
     
    
    Starting kernel ...
    
     
    
    I/TC: Secondary CPU 1 initializing
    I/TC: Secondary CPU 1 switching to normal world boot
    I/TC: Reserved shared memory is enabled
    I/TC: Dynamic shared memory is enabled
    I/TC: Normal World virtualization support is disabled
    I/TC: Asynchronous notifications are disabled
    

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

    您好:

    您所使用的设备是 HSFS、其 fitImage 启动默认为禁用。 如果您想启用 fitImage 引导、您只需设置"boot_fit"环境变量、如下所述:

    https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/11_00_09_04/exports/docs/linux/Foundational_Components_Migration_Guide.html#:~:text=boot%20environment%20variable-、boot_fit、-ca%20be%20set

    随附的是示例日志:

    [11:31:28.490] => setenv boot_fit 1
    [11:31:30.090] => boot
    [11:31:31.114] switch to partitions #0, OK
    [11:31:31.117] mmc0(part 0) is current device
    [11:31:31.162] SD/MMC found on device 0
    [11:31:31.210] 574 bytes read in 39 ms (13.7 KiB/s)
    [11:31:31.213] Loaded env from uEnv.txt
    [11:31:31.216] Importing environment from mmc0 ...
    [11:31:31.306] 9097130 bytes read in 91 ms (95.3 MiB/s)
    [11:31:31.309] ## Loading kernel from FIT Image at 90000000 ...
    [11:31:31.322]    Using 'conf-ti_k3-am642-evm.dtb' configuration
    [11:31:31.325]    Verifying Hash Integrity ... sha512,rsa4096:custMpk+ OK
    [11:31:31.338]    Trying 'kernel-1' kernel subimage
    [11:31:31.341]      Description:  Linux kernel
    [11:31:31.343]      Type:         Kernel Image
    [11:31:31.345]      Compression:  gzip compressed
    [11:31:31.347]      Data Start:   0x900000e0
    [11:31:31.349]      Data Size:    8815849 Bytes = 8.4 MiB
    [11:31:31.356]      Architecture: AArch64
    [11:31:31.358]      OS:           Linux
    [11:31:31.360]      Load Address: 0x81000000
    [11:31:31.362]      Entry Point:  0x81000000
    [11:31:31.364]      Hash algo:    sha512
    [11:31:31.366]      Hash value:   0b7db1089950ffb1c6a680ce290df2751a1d21aaa9db5b2fb5476717df4d6bab19ef196f62e8463b54d55949914cf09fd9b14ecffa8494bf18347ebfcc87f558
    [11:31:31.379]    Verifying Hash Integrity ... sha512+ OK
    [11:31:31.595] ## Loading fdt from FIT Image at 90000000 ...
    [11:31:31.618]    Using 'conf-ti_k3-am642-evm.dtb' configuration
    [11:31:31.622]    Verifying Hash Integrity ... sha512,rsa4096:custMpk+ OK
    [11:31:31.627]    Trying 'fdt-ti_k3-am642-evm.dtb' fdt subimage
    [11:31:31.630]      Description:  Flattened Device Tree blob
    [11:31:31.633]      Type:         Flat Device Tree
    [11:31:31.635]      Compression:  uncompressed
    [11:31:31.643]      Data Start:   0x90896a08
    [11:31:31.645]      Data Size:    64721 Bytes = 63.2 KiB
    [11:31:31.648]      Architecture: AArch64
    [11:31:31.650]      Load Address: 0x83000000
    [11:31:31.652]      Hash algo:    sha512
    [11:31:31.658]      Hash value:   e71016da27c71d781166d6952569d34221c95e237ad952342fa1e960cc835e2a60135d5f69e4de1dc038e6095dba171fce9220aec2899fbb1a012cb0193ee111
    [11:31:31.667]    Verifying Hash Integrity ... sha512+ OK
    [11:31:31.674]    Loading fdt from 0x90896a08 to 0x83000000
    [11:31:31.677]    Booting using the fdt blob at 0x83000000
    [11:31:31.680] Working FDT set to 83000000
    [11:31:31.681]    Uncompressing Kernel Image to 81000000
    [11:31:32.090]    Loading Device Tree to 000000008ffed000, end 000000008ffffcd0 ... OK
    [11:31:32.094] Working FDT set to 8ffed000
                                                                                                                                                                                                
    [11:31:32.106] Starting kernel ...
                                                                                                                                                                                                
    [11:31:32.138] [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [11:31:32.143] [    0.000000] Linux version 6.6.58-ti-01497-ga7758da17c28-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT
    Wed Nov 27 13:23:15 UTC 2024
    [11:31:32.161] [    0.000000] KASLR disabled due to lack of seed
    [11:31:32.164] [    0.000000] Machine model: Texas Instruments AM642 EVM

    此致、

    Prashant

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

    您好 Prashant、

    非常感谢!

    现在有效。

    此致

    Walter