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.

DM368 UBL Hangs when jumping to kernel

I'm currently working on a system that includes a DM368 which we boot using the UBL (no uboot from what I can see). There's an odd issue that only occurs sometimes where the UBL hangs after jumping to the kernel entry point. Even with debugging messages enabled in the kernel ('debug' passed into the cmdline parameters) I don't see any more details when it fails, It just hangs indefinitely which leads me to believe the jump isn't completing successfully. 

It's a confusing issue because this does not occur all the time,  three times out of four the kernel starts correctly.

I would appreciate any ideas as to how to fix this or debug further. It's worth noting that this is an inherited codebase so I haven't yet been able to check if anything was modified in the UBL or dig into it whether all of the kernel options are required. Please see the end of this post for a log of the boot failure. The cmdline used for booting is as follows:

setup_cmdline_tag(CMDLINE("mem=44M console=ttyS0,115200n8 noinitrd ip=192.168.1.1 rw ubi.mtd=8,2048 rootfstype=ubifs root=ubi0:rootfs lpj=741376 cmemk.phys_start=0x82c00000 cmemk.phys_end=0x87f00000 cmemk.phys_start_1=0x00001000 cmemk.phys_end_1=0x00008000 cmemk.pools_1=1x28672 useHeapIfPoolUnavailable=1 cmemk.allowOverlap=1 inohz=off highres=off init=/init/immediate_mode debug earlyprintk=serial,ttyS0,115200 ublver="));

The details of the three images (firmware image, file system image and kernel image) are as follows:

Image Name:   0.4.52
Created:      Mon Apr 25 05:41:13 2016
Image Type:   ARM Linux Firmware (uncompressed)
Data Size:    195730 Bytes = 191.14 kB = 0.19 MB
Load Address: 80008000
Entry Point:  66666666

Image Name:   0.4.52
Created:      Mon Apr 25 05:41:13 2016
Image Type:   ARM Linux Filesystem Image (uncompressed)
Data Size:    18481152 Bytes = 18048.00 kB = 17.62 MB
Load Address: 80008000
Entry Point:  44444444

Image Name:   0.4.52
Created:      Mon Apr 25 05:41:14 2016
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    3128992 Bytes = 3055.66 kB = 2.98 MB
Load Address: 80008000
Entry Point:  33333333

Please let me know if you require any more information and I'll do my best to provide it.

Many thanks,

Oliver

DM36x intialization passed!
TI UBL Base Version: 1.50
Boot Loader BootMode = NOR
Starting NOR Copy...
0x56190527 : Magic Number is found...!
***
norPtr = 0xE321F0D3, ramPtr = , 0x11FEE94B, kernel_size = 0x002FBE60, gEntryPoint = 0x80008000
Boot Mode Task Completed

UBL Version: 0.4.55
Creating ATAGS : Activefs : /dev/mtd7

UBL Executed Successfully

Jumping to entry point at 0x80008000
[No more output here]
  • Hi Oliver,

    1. Have you tried earlyprintk option as bootargs ?
    2. Have you tried checking memory location whether the copy has happened properly from NOR ? Do a warm/soft reset(DDR contents are still there) if possible, then use uboot memory dump command to analyze.