主题 : uboot启动linux4.19 失败。r2=0x00000000 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 104198
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
贡献值: 0 点
综合积分: 14 分
注册时间: 2014-05-17
最后登录: 2022-12-03
楼主  发表于: 2022-12-02 20:38

 uboot启动linux4.19 失败。r2=0x00000000

串口信息:  
Loading Ramdisk to 43c56000, end 43cfaecc ... OK  
   Loading Device Tree to 413f1000, end 413ff24c ... OK  

Starting kernel ...


Error: invalid dtb and unrecognized/unsupported machine ID
  r1=0x00001200, r2=0x00000000
Available machine support:

ID (hex)        NAME
ffffffff        Generic DT based system
ffffffff        SAMSUNG EXYNOS (Flattened Device Tree)

Please check your kernel config and/or bootloader.


感觉是DTB文件在内存的地址没有传给内核。不知道如何解决,求大神帮忙。
开发版 tiny4412.   uboot友善之臂自带的修改过的。内核Linux4.19.鸿蒙系统里自带的应该是原版的。
通过SD卡启动uboot。fatload 加载 内核等文件。bootm 启动。
从头到尾完整串口信息:

OK

U-Boot 2010.12 (Nov 29 2022 - 04:13:04) for TINY4412


CPU:    S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9]
        APLL = 1400MHz, MPLL = 800MHz

Board:  TINY4412
DRAM:   1023 MiB

vdd_arm: 1.2
vdd_int: 1.0
vdd_mif: 1.1

BL1 version:  N/A (TrustZone Enabled BSP)


Checking Boot Mode ... SDMMC
REVISION: 1.1
MMC Device 0: 7566 MB
MMC Device 1: 7456 MB
MMC Device 2: N/A
*** Warning - using default environment

Net:    No ethernet found.
Hit any key to stop autoboot:  0
reading kernel..device 0 Start 1057, Count 12288
MMC read: dev # 0, block # 1057, count 12288 ... 12288 blocks read: OK
completed
reading RFS..device 0 Count 13345, Start 2048
MMC read: dev # 0, block # 13345, count 2048 ... 2048 blocks read: OK
completed
Wrong Image Format for bootm command
ERROR: can't get kernel image!
TINY4412 # fatload mmc 0:1 0x40600000 uImage
Partition1: Start Address(0x35bce0), Size(0xb47044)
reading uImage

6643432 bytes read
TINY4412 # fatload mmc 0:1 0x42000000 ramdisk.img
Partition1: Start Address(0x35bce0), Size(0xb47044)
reading ramdisk.img

675596 bytes read
TINY4412 # fatload mmc 0:1 0x43000000 exynos4412-tiny4412.dtb
Partition1: Start Address(0x35bce0), Size(0xb47044)
reading exynos4412-tiny4412.dtb

45645 bytes read
TINY4412 # bootm 0x40600000 0x42000000 0x43000000
## Booting kernel from Legacy Image at 40600000 ...
   Image Name:   Linux-4.19.155
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6643368 Bytes = 6487 KiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 42000000 ...
   Image Name:   ramdisk
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    675532 Bytes = 675532 0iB
   Load Address: 40800000
   Entry Point:  40800000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
   Loading Kernel Image ... OK
OK
## Loading init Ramdisk from Legacy Image at 42000000 ...
   Image Name:   ramdisk
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    675532 Bytes = 675532 0iB
   Load Address: 40800000
   Entry Point:  40800000
   Verifying Checksum ... OK
   Loading Ramdisk to 43c56000, end 43cfaecc ... OK  
   Loading Device Tree to 413f1000, end 413ff24c ... OK  

Starting kernel ...


Error: invalid dtb and unrecognized/unsupported machine ID
  r1=0x00001200, r2=0x00000000
Available machine support:

ID (hex)        NAME
ffffffff        Generic DT based system
ffffffff        SAMSUNG EXYNOS (Flattened Device Tree)

Please check your kernel config and/or bootloader.