[U-Boot] Uboot Hangs when Initrd size increased in FIT image

gnix thosewholiketorule at yahoo.com
Mon Apr 30 02:47:47 UTC 2018


Im booting Linux on arm64 using FIT multi image (image + initrd + DTB). So if
I increase the initrd size (from 16 MB -> 20MB) board hangs at "starting
kernel"). However if I change the load address of bootm (from 0x2000000 to
0x1000000) it boots successfully. Any pointers on why this is booting at
lower load address? What is the relationship between bootm multi image load
address and final jump addresses of Image, initrd and FDT? thanks in
advance.

Board config : 2 GB ram (0x00000000 - 0x8000000)
Init high enabled (so initrd is relocated to high mem)
FDT_high=0xffffffffffffffff so DTB is used in place. 
FDT load adress is (0x9000000)

Console output:
## Current stack ends at 0x7f6cc6c0 *  kernel: cmdline image address =
0x02000000
## Loading kernel from FIT Image at 02000000 ...
Using 'config at 1' configuration
Verifying Hash Integrity ... OK
Trying 'kernel at 0' kernel subimage
 Description:  linux-mvl-4.4
 Type:         Kernel Image
 Compression:  uncompressed
 Data Start:   0x020000bc
 Data Size:    12473856 Bytes = 11.9 MiB
 Architecture: AArch64
 OS:           Linux
 Load Address: 0x00080000
 Entry Point:  0x00080000
Verifying Hash Integrity ... OK
kernel data at 0x020000bc, len = 0x00be5600 (12473856)
*  ramdisk: using config 'config at 1' from image at 0x02000000
## Loading ramdisk from FIT Image at 02000000 ...
Using 'config at 1' configuration
Trying 'ramdisk at 0' ramdisk subimage
 Description:  initramfs
 Type:         RAMDisk Image
 Compression:  lzma compressed
 Data Start:   0x02be5764
 Data Size:    22356891 Bytes = 21.3 MiB
 Architecture: AArch64
 OS:           Linux
Can't get 'load' property from FIT 0x02000000, node: offset 12474104,   
name ramdisk at 0 (FDT_ERR_NOTFOUND)
 Load Address: unavailable
Can't get 'entry' property from FIT 0x02000000, node: offset 12474104, name
ramdisk at 0 (FDT_ERR_NOTFOUND)
 Entry Point:  unavailable
Verifying Hash Integrity ... OK
Can't get 'load' property from FIT 0x02000000, node: offset 12474104, name
ramdisk at 0 (FDT_ERR_NOTFOUND)
ramdisk start = 0x02be5764, ramdisk end = 0x04137aff
*  fdt: using config 'config at 1' from image at 0x02000000
## Checking for 'FDT'/'FDT Image' at 02000000
## Loading fdt from FIT Image at 02000000 ...
Using 'config at 1' configuration
Trying 'fdt at 1' fdt subimage
  Description:  P1 fdt
  Type:         Flat Device Tree
  Compression:  uncompressed
  Data Start:   0x0413eadc
  Data Size:    28899 Bytes = 28.2 KiB
  Architecture: AArch64
 Verifying Hash Integrity ... OK
 Loading fdt from 0x0413eadc to 0x09000000
 Booting using the fdt blob at 0x9000000
 of_flat_tree at 0x09000000 size 0x000070e3
 Loading Kernel Image ... OK
 kernel loaded at 0x00080000, end = 0x00c65600
 ## initrd_high = 0x80000000, copy_to_ram = 1
 Loading Ramdisk to 7e179000, end 7f6cb39b ... OK
ramdisk load start = 0x7e179000, ramdisk load end = 0x7f6cb39b
using: FDT
## DT length 41187
Using Device Tree in place at 0000000009000000, end 000000000900a0e2
mci_find_sb_node.....no Device found
DevID=100001f found on MCi bus 0
DevID=1000021 found on MCi bus 1
## Transferring control to Linux (at address 80000)...

######## Starting kernel ...



--
Sent from: http://u-boot.10912.n7.nabble.com/


More information about the U-Boot mailing list