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.

Kernle booting isssue in DM8148 custom board

Hi,

I am using DM8148 custom board with TI814X-LINUX-PSP-04.01.00.07 kernel source.

My boot argument is " setenv bootargs 'console=ttyO0,115200n8 mem=256M earlyprintk root=/dev/ram0 rw initrd=0x8A000000 fdt_high=0xFFFFFFFF' "

 when I build the kernel and download it in the DDR and start booting, I am getting the following errors.

 

 

## Booting kernel from Legacy Image at 81000000 ...

   Image Name:   Linux-2.6.37

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    1441284 Bytes = 1.4 MiB

   Load Address: 80008000

   Entry Point:  80008000

   Verifying Checksum ... OK

## Loading init Ramdisk from Legacy Image at 8a000000 ...

   Image Name:   initrd_light image

   Image Type:   ARM Linux RAMDisk Image (uncompressed)

   Data Size:    2560000 Bytes = 2.4 MiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK

 

Starting kernel ...

 

Uncompressing Linux... done, booting the kernel.

calling smp_setup

lockdep_init

calling debug_objects_early_init

calling boot_init_stack_canary

calling boot_init_stack_canary

calling local_irq_disable

calling early_boot_irqs_off

calling tick_init

calling boot_cpu_init

calling page_address_init

calling setup_arch

setup_arch 1setup_arch 3setup_arch 4Linux version 2.6.37 (root@ubuntu) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #22 Sat Oct 5 15:03:28 IST 2013

CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f

CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine: ti8148evm

bootconsole [earlycon0] enabled

setup_arch 4-areserved size = 0 at 0x0

setup_arch 4-bMemory policy: ECC disabled, Data cache writeback

OMAP chip is TI8148 2.0

SRAM: Mapped pa 0x40300000 to va 0xfe400000 size: 0x20000

setup_arch 4-csetup_arch 5-dsetup_arch 7setup_arch 8setup_arch 9setup_arch 10setup_arch ndmm_init_owner

setup_command_line

calling setup_nr_cpu_ids

calling build_all_zonelists

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64960

Kernel command line: console=ttyO0,115200n8 mem=256M earlyprintk root=/dev/ram0 rw initrd=0x8A000000 fdt_high=0xFFFFFFFF

calling pidhash_init

PID hash table entries: 1024 (order: 0, 4096 bytes)

Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)

Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)

calling  mm_init

Memory: 256MB = 256MB total

Memory: 253868k/253868k available, 8276k reserved, 0K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)

    vmalloc : 0xd0800000 - 0xf8000000   ( 632 MB)

    lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)

    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)

    modules : 0xbf000000 - 0xbfe00000   (  14 MB)

      .init : 0xc0008000 - 0xc0036000   ( 184 kB)

      .text : 0xc0036000 - 0xc02bc000   (2584 kB)

      .data : 0xc02bc000 - 0xc02ee100   ( 201 kB)

SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

NR_IRQS:375

calling   init_IRQ

IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts

Total of 128 interrupts on 1 active controller

OMAP clockevent source: GPTIMER1 at 20000000 Hz

calling    profile_init

calling    early_boot_irqs_on

calling local_irq_enable

calling kmem_cache_init_late

calling console_init

Console: colour dummy device 80x30

checking condition panic_later

calling lockdep_info

calling locking_selftest

calling  page_cgroup_init

calling  enable_debug_pagealloc

calling kmemleak_init

calling debug_objects_mem_init

calling  idr_init_cache

calling  setup_per_cpu_pageset

calling  numa_policy_init

calling  calibrate_delay

Calibrating delay loop... 399.76 BogoMIPS (lpj=1998848)

calling   pidmap_init

pid_max: default: 32768 minimum: 301

calling    anon_vma_init

calling     thread_info_cache_init

calling    cred_init

calling    fork_init

calling   proc_caches_init

Unable to handle kernel paging request at virtual address 153b04c0

pgd = c0004000

[153b04c0] *pgd=00000000

Internal error: Oops: 5 [#1]

last sysfs file:

CPU: 0    Not tainted  (2.6.37 #22)

PC is at kmem_cache_alloc+0x38/0x8c

LR is at sysfs_slab_alias+0x64/0x8c

pc : [<c00d228c>]    lr : [<c00d2344>]    psr: 20000193

sp : c02bdf18  ip : c0568024  fp : c02bdf3c

r10: 000001f0  r9 : 00000000  r8 : c0291434

r7 : 000000d0  r6 : cf802180  r5 : a0000113  r4 : 153b04c0

r3 : 00000000  r2 : 00000002  r1 : 000000d0  r0 : cf802180

Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

Control: 10c5387f  Table: 80004019  DAC: 00000017

Process swapper (pid: 0, stack limit = 0xc02bc2e8)

Stack: (0xc02bdf18 to 0xc02be000)

df00:                                                       c02d3c20 60000113

df20: c031bbe4 cf802300 c0291434 000001f0 c02bdf5c c02bdf40 c00d2344 c00d2260

df40: cf802300 c02de19c 00042000 000001f0 c02bdfa4 c02bdf60 c00d3534 c00d22ec

df60: 000c2000 c006a334 c02ee100 00000000 ffffffc0 00000200 c00428b4 00000000

df80: c02ee7b0 c02ee100 c002b1c0 80000000 413fc082 0000001f c02bdfc4 c02bdfa8

dfa0: c00155dc c00d324c 00000000 c02bdff4 c03184e8 00000000 c02bdff4 c02bdfc8

dfc0: c00091b8 c0015588 c0008a68 00000000 271beb39 c002bfe0 10c53c7d c02ee29c

dfe0: c002bfdc c02bff3c 00000000 c02bdff8 80008048 c0008d18 00000000 00000000

Backtrace:

[<c00d2254>] (kmem_cache_alloc+0x0/0x8c) from [<c00d2344>] (sysfs_slab_alias+0x64/0x8c)

 r7:000001f0 r6:c0291434 r5:cf802300 r4:c031bbe4

[<c00d22e0>] (sysfs_slab_alias+0x0/0x8c) from [<c00d3534>] (kmem_cache_create+0x2f4/0x35c)

 r7:000001f0 r6:00042000 r5:c02de19c r4:cf802300

[<c00d3240>] (kmem_cache_create+0x0/0x35c) from [<c00155dc>] (proc_caches_init+0x60/0xf0)

[<c001557c>] (proc_caches_init+0x0/0xf0) from [<c00091b8>] (start_kernel+0x4ac/0x5e4)

 r5:00000000 r4:c03184e8

[<c0008d0c>] (start_kernel+0x0/0x5e4) from [<80008048>] (0x80008048)

 r7:c02bff3c r6:c002bfdc r5:c02ee29c r4:10c53c7d

Code: e59c4000 e3540000 0a000010 e5903010 (e7942003)

---[ end trace da227214a82491b7 ]---

Kernel panic - not syncing: Attempted to kill the idle task!

Backtrace:

[<c0046c1c>] (dump_backtrace+0x0/0x110) from [<c0236914>] (dump_stack+0x18/0x1c)

 r7:00000005 r6:c02bc000 r5:c02bded0 r4:c02ee7d8

[<c02368fc>] (dump_stack+0x0/0x1c) from [<c023698c>] (panic+0x74/0x1ac)

[<c0236918>] (panic+0x0/0x1ac) from [<c0070058>] (do_exit+0x650/0x674)

 r3:00000000 r2:c02bdd38 r1:c02bc000 r0:c0291834

[<c006fa08>] (do_exit+0x0/0x674) from [<c004710c>] (bad_mode+0x0/0x64)

[<c0046f20>] (die+0x0/0x1ec) from [<c0049cdc>] (__do_kernel_fault+0x7c/0x8c)

[<c0049c60>] (__do_kernel_fault+0x0/0x8c) from [<c0049e70>] (do_page_fault+0x184/0x208)

 r9:c02bef10 r8:153b04c0 r7:c02bded0 r6:c02bded0 r5:00000000

r4:c02c0554

[<c0049cec>] (do_page_fault+0x0/0x208) from [<c0049ff0>] (do_translation_fault+0x80/0xa8)

[<c0049f70>] (do_translation_fault+0x0/0xa8) from [<c0036320>] (do_DataAbort+0x3c/0xa0)

 r9:20000193 r8:c02bded0 r7:c02c05a4 r6:00000005 r5:c02bdf04

r4:c02c0554

[<c00362e4>] (do_DataAbort+0x0/0xa0) from [<c004286c>] (__dabt_svc+0x4c/0x60)

Exception stack(0xc02bded0 to 0xc02bdf18)

dec0:                                     cf802180 000000d0 00000002 00000000

dee0: 153b04c0 a0000113 cf802180 000000d0 c0291434 00000000 000001f0 c02bdf3c

df00: c0568024 c02bdf18 c00d2344 c00d228c 20000193 ffffffff

[<c00d2254>] (kmem_cache_alloc+0x0/0x8c) from [<c00d2344>] (sysfs_slab_alias+0x64/0x8c)

 r7:000001f0 r6:c0291434 r5:cf802300 r4:c031bbe4

[<c00d22e0>] (sysfs_slab_alias+0x0/0x8c) from [<c00d3534>] (kmem_cache_create+0x2f4/0x35c)

 r7:000001f0 r6:00042000 r5:c02de19c r4:cf802300

[<c00d3240>] (kmem_cache_create+0x0/0x35c) from [<c00155dc>] (proc_caches_init+0x60/0xf0)

[<c001557c>] (proc_caches_init+0x0/0xf0) from [<c00091b8>] (start_kernel+0x4ac/0x5e4)

 r5:00000000 r4:c03184e8

[<c0008d0c>] (start_kernel+0x0/0x5e4) from [<80008048>] (0x80008048)

 r7:c02bff3c r6:c002bfdc r5:c02ee29c r4:10c53c7d

 

 

 

Any help will be highly  appreciated.

 

Thanks,

 

  • Debasish,

    There is something seriously wrong with your kernel build. Which is the defconfig file that you've used? Your kernel image is too small (1.4MB), typically it should be close to 3MB. This means that you've not really included many modules. 

    Follow this guide.

    http://processors.wiki.ti.com/index.php/DM814x_AM387x_PSP_User_Guide

  • Hello Renjit, Thanks for the reply, Actually the kernel size is small because i am mot including many modules while using menuconfig and some of the initialization for the decoder and and other things i have commented, Actually I need a bare minimum kernel for the booting purpose. I am not getting why i get the error "Unable to handle kernel paging request at virtual address ............." Any idea why I am getting this error and how to resolve this error?

  • Debasish,

    I don't know what exactly you are trying here. But if you do a menuconfig, its really difficult to say what all do you need in that platform to get the basic drivers working. And every driver is not really a perfect one to work independent of another one etc. So I recommend you to start with 

    make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm ti8148_evm_defconfig
    and try to remove any unwanted drivers if necessary. Try this, and it will work. 
  • Hi

    suggest you use the default setting and do increamental work to optimize your kernel, that would be much more easy to move forward.

    BR,

    Eason