工具与软件:
我已经通过 dd 命令将 am64xx-a5.rootfs.wic 映像从 SD 卡复制到 eMMC、并检查了 MMC 分区、它正在正确显示所有分区。
setenv mmcdv 0 => setenv bootpart 0 => 引导
执行上述命令后、显示以下错误
无法加载"/boot/fitImage "
bootm 命令的映像格式错误
错误:无法获取内核映像!
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.
工具与软件:
我已经通过 dd 命令将 am64xx-a5.rootfs.wic 映像从 SD 卡复制到 eMMC、并检查了 MMC 分区、它正在正确显示所有分区。
setenv mmcdv 0 => setenv bootpart 0 => 引导
执行上述命令后、显示以下错误
无法加载"/boot/fitImage "
bootm 命令的映像格式错误
错误:无法获取内核映像!
您好!
从 eMMC 引导时需要对引导参数或引导命令中的哪些内容进行更改、因为如果移除 SD 卡、则无法引导。
请分享日志以更好地了解问题。
谢谢!
您好!
请按以下方式查找日志:
我想了解 为什么它没有显示在尝试从 eMMC 和使用引导参数的日志中
CONFIG_BOOTCOMMAND="run args_mmc;run get_fit_mmc;bootm ${addr_fit}"
文件中
引导=MMC
mmcdev=0
bootpart=0:2
bootdir=/boot
RD_SPEC=-
fdt_addr_r=0x8a000000
fdtaddr=0x8a000000
fdtoverlay _addr_r=0x8b000000
电路板启动日志
SoC:AM64X SR2.0 HS-AM64X FS
模型:德州仪器(TI) AM642 EVM
EEPROM 在0x56处不可用、尝试在0x57处读取
在0x57读取板载 EEPROM 失败-1
DRAM:1GiB
内核:67个器件、29个 uClasses、devicetre:单独
MMC:MMC@fa10000:0、MMC@fa00000:1
正在从 FAT 加载环境... 好的
输入:串行@2810000
输出:串行@2810000
ERR:串行@2810000
EEPROM 在0x56处不可用、尝试在0x57处读取
在0x57读取板载 EEPROM 失败-1
net:eth0:以太网@8000000port@1
按任意键以停止自动引导:0
=>
=>
=>
=>引导
在328ms (21MiB/s)内读取7238273字节
##从 FIT Image 载入内核90000000 ...
使用'conf-abb_k3-am642-a5-a.dtb'配置
正在验证散列完整性... SHA512,rsa4096:custMpk+确定
正在尝试"kernel-1"内核子映像
描述:Linux 内核
键入:Kernel Image
压缩:gzip 压缩
数据启动:0x900000bc
数据大小:7175542字节= 6.8 MIB
架构:AArch64
操作系统:Linux
载入地址:0x81000000
入口点:0x81000000
散列算法:SHA512
哈希值:c76b629f5cc860c888ca34316f442e7a9f491a81d9e26214da6d21420004c5de444fa5033eb31876bde3fd3924950c3a7a3b75e0d11a87d38de05605d529f954
正在验证散列完整性... SHA512+确定
##在90000000 ....
使用'conf-abb_k3-am642-a5-a.dtb'配置
正在验证散列完整性... SHA512,rsa4096:custMpk+确定
正在尝试"FDT-ABB_K3-am642-A5-a.dtb" FDT 子映像
说明:平展设备树状块
类型:扁平设备树
压缩:未压缩
数据启动:0x906d7f6c
数据大小:60476字节= 59.1 KiB
架构:AArch64
载入地址:0x83000000
散列算法:SHA512
散列值:e401b09922152990fa36d088b758d2495d7f36326e8ff74e8f8cccb159aa683043a5e0aeb70d24bacb17c55a7d3f3bc39e34d654a0a84b0db01d00a474cfe
正在验证散列完整性... SHA512+确定
将 FDT 从0x906d7f6c 加载到0x83000000
使用0x83000000处的 FDT blob 进行引导
工作 FDT 设置为83000000
取消压缩内核映像
正在将设备树加载到000000008ffee000,结束000000008ffc3b ...确定
工作 FDT 设置为8ffee000
正在启动内核...
[ 0.000000]在物理 CPU 上引导 Linux 0x0000000000 [0x410fd034]
[ 0.000000] Linux 版本6.1.69-rt21-g-g (OE-user@OE-host)(AArch64-poky-linux-gcc (GCC) 13.2.0、GNU ld (GNU binutils) 2.42.0.20240202)#1 2月1日 preempt_RT MON SMP 5 21:46:19 UTC 2024年2月
[ 0.000000]机器模型: ABB A5设备
[ 0.000000] EFI:找不到 UEFI。
[ 0.000000]保留内存:在0x00000000a0000000处创建了 DMA 内存池、大小为1 MiB
[ 0.000000] of:reserved mem:initialized node r5f-dma-memory@a0000000、compatible id shared-dma-pool
[ 0.000000]保留内存:在0x00000000a0100000处创建了 DMA 内存池、大小为15MiB
[ 0.000000] of:reserved mem:initialized node r5f-memory@a0100000、compatible id shared-dma-pool
[ 0.000000]保留内存:在0x00000000a1000000创建了 DMA 内存池、大小为1MiB
[ 0.000000] of:reserved mem:initialized node r5f-dma-memory@a1000000、compatible id shared-dma-pool
[ 0.000000]保留内存:在0x00000000a1100000处创建了 DMA 内存池、大小为15MiB
[ 0.000000] of:reserved mem:initialized node r5f-memory@a1100000、compatible id shared-dma-pool
[ 0.000000]保留内存:在0x00000000a2000000创建了 DMA 内存池、大小为1MiB
[ 0.000000] of:reserved mem:initialized node r5f-dma-memory@a2000000、compatible id shared-dma-pool
[ 0.000000]保留内存:在0x00000000a2100000处创建了 DMA 内存池、大小为15MiB
[ 0.000000] of:reserved mem:initialized node r5f-memory@a2100000、compatible id shared-dma-pool
[ 0.000000]保留内存:在0x00000000a3000000创建了 DMA 内存池、大小为1MiB
[ 0.000000] of:reserved mem:initialized node r5f-dma-memory@a3000000、compatible id shared-dma-pool
[ 0.000000]保留内存:在0x00000000a3100000创建 DMA 内存池、大小为15MiB
[ 0.000000] of:reserved mem:initialized node r5f-memory@a3100000、compatible id shared-dma-pool
[ 0.000000]保留内存:在0x00000000a4000000创建了 DMA 内存池、大小为1MiB
[ 0.000000] of:reserved mem:initialized node m4F-dma-memory@a4000000、compatible id shared-dma-pool
[ 0.000000]保留内存:在0x00000000a4100000处创建了 DMA 内存池、大小为15MiB
[ 0.000000] of:reserved mem:initialized node m4f-memory@a4100000、compatible id shared-dma-pool
[ 0.000000]区域范围:
[ 0.000000] DMA [mem 0x0000000080000000-0x00000000bfffff]
[ 0.000000] dma32空
[ 0.000000]正常为空
[ 0.000000]每个节点的可移动区域开始
[ 0.000000]早期内存节点范围
[ 0.000000]节点0:[MEM 0x0000000080000000-0x000000009e7fffff]
[ 0.000000]节点0:[MEM 0x000000009e800000-0x00000000a57fff]
[ 0.000000]节点0:[MEM 0x00000000a5800000-0x00000000bfffff]
[ 0.000000] Initmem 设置节点0 [mem 0x00000000800000-0x00000000bfffff]
[ 0.000000] CMA:在0x00000000bce00000处保留32个 MIB
[ 0.000000] psci:从 DT 探测导管方法。
[ 0.000000] psci:在固件中检测到 PSCIv1.1。
[ 0.000000] psci:使用标准 PSCI v0.2功能 ID
[ 0.000000] psci:不需要受信任的操作系统迁移
[ 0.00] psci:SMC 调用约定 v1.4
您好 Prashant:
正如您所说的、这不是 SD 卡问题、我的问题是无法从 EMMC (无论是从 UDA 分区还是从 EMMC 引导分区 mmcblk0boot0)引导。
SoC: AM64X SR2.0 HS-FS Model: Texas Instruments AM642 EVM EEPROM not available at 0x56, trying to read at 0x57 Reading on-board EEPROM at 0x57 failed -1 DRAM: 1 GiB Core: 67 devices, 29 uclasses, devicetree: separate MMC: mmc@fa10000: 0, mmc@fa00000: 1 Loading Environment from FAT... OK In: serial@2810000 Out: serial@2810000 Err: serial@2810000 EEPROM not available at 0x56, trying to read at 0x57 Reading on-board EEPROM at 0x57 failed -1 Net: eth0: ethernet@8000000port@1 Hit any key to stop autoboot: 0 => => => => boot 7238273 bytes read in 328 ms (21 MiB/s) ## Loading kernel from FIT Image at 90000000 ... Using 'conf-abb_k3-am642-a5-a.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: 0x900000bc Data Size: 7175542 Bytes = 6.8 MiB Architecture: AArch64 OS: Linux Load Address: 0x81000000 Entry Point: 0x81000000 Hash algo: sha512 Hash value: c76b629f5cc860c888ca34316f442e7a9f491a81d9e26214da6d21420004c5de444fa5033eb31876bde3fd3924950c3a7a3b75e0d11a87d38de05605d529f954 Verifying Hash Integrity ... sha512+ OK ## Loading fdt from FIT Image at 90000000 ... Using 'conf-abb_k3-am642-a5-a.dtb' configuration Verifying Hash Integrity ... sha512,rsa4096:custMpk+ OK Trying 'fdt-abb_k3-am642-a5-a.dtb' fdt subimage Description: Flattened Device Tree blob Type: Flat Device Tree Compression: uncompressed Data Start: 0x906d7f6c Data Size: 60476 Bytes = 59.1 KiB Architecture: AArch64 Load Address: 0x83000000 Hash algo: sha512 Hash value: e401b09922152990fa36d088b758d2495d7f36326e8ff74e8f8cccb159aa683043a5e0aeb70d24613b17c55a7d3f3bc39e34d654a0a84b0dbbac01d00a474cfe Verifying Hash Integrity ... sha512+ OK Loading fdt from 0x906d7f6c to 0x83000000 Booting using the fdt blob at 0x83000000 Working FDT set to 83000000 Uncompressing Kernel Image Loading Device Tree to 000000008ffee000, end 000000008ffffc3b ... OK Working FDT set to 8ffee000 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 6.1.69-rt21-g-g (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 13.2.0, GNU ld (GNU Binutils) 2.42.0.20240202) #1 SMP PREEMPT_RT Mon Feb 5 21:46:19 UTC 2024 [ 0.000000] Machine model: ABB A5 device [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a1000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a1100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a2000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a2100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a3000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a3100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@a4000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node m4f-memory@a4100000, compatible id shared-dma-pool [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000bfffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009e7fffff] [ 0.000000] node 0: [mem 0x000000009e800000-0x00000000a57fffff] [ 0.000000] node 0: [mem 0x00000000a5800000-0x00000000bfffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff] [ 0.000000] cma: Reserved 32 MiB at 0x00000000bce00000 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: Trusted OS migration not required [ 0.000000] psci: SMC Calling Convention v1.4