i have mx253 based design. thousand of devices are on the field.
i have been searching root cause of device crash on the field. in one type of problem cases, device boot linux without a problem after POR reset but after watchdog reset or after RESET_B, u-boot runs without a problem but linux doesn't boot and stop after those lines below;
This happens not after every watchdog reboot. it happens sometimes.
"......
,,,,,,
Starting kernel ...
Uncompressing Linux... done, booting the kernel."
this case happens just in some devices and i couldnt find why.
first i thought that it may caused from wrong command line argument from u-boot about console but i got this log below from __log_buf and it says that something else is wrong.
here is the log i catch from __log_buf, red lines doesn't appear in a normal boot sequence. this might be a clue, but i dont know where to look at.
Please give me an idea about this matter.
inux version 2.6.36.1 (cafer@cafer-ThinkPad-T410) (gcc version 4.1.2)#106 PREEMPT Thu Jul 18 14:47:37 EEST 2013
CPU: ARM926EJ-S [41069264] revision 4 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Freescale MX25 PDK (3DS)
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 16384.
free_area_init_node: node 0, pg dat c0412d98, node_mem_map c0453000.
Normal zone: 128 pages used for memmap.
Normal zone:0 pages reserved.
Normal zone: 16256 pages, LIFO batch:3
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttymxc0,115200 ubi.mtd=3,2048 root=ubi0:nand.ubifs ip=none rootflags=sync rootfstype=ubifs
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 60548k/60548k available, 4988k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xc4800000 - 0xf4000000 ( 760 MB)
lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0027000 ( 124 kB)
.text : 0xc0027000 - 0xc03d3000 (3760 kB)
.data : 0xc03f0000 - 0xc04133a0 ( 141 kB)
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:208
MXC IRQ initialized
MXC GPIO hardware
mxc_clocksource_init: 66500000
timer_is_v2:1
mult: 15768060
shift: 20
Console: colour dummy device 80x30
ODEBUG: 3 of 3 active objects replaced
ODEBUG: selftest passed
Calibrating delay loop... 199.06 BogoMIPS (lpj=995328)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Thanks in advance.
Regards,
Cafer Koçkan
__log_buf crash full log is here
Linux version 2.6.36.1 (cafer@cafer-ThinkPad-T410) (gcc version 4.1.2)#106 PREEMPT Thu Jul 18 14:47:37 EEST 2013
CPU: ARM926EJ-S [41069264] revision 4 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Freescale MX25 PDK (3DS)
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 16384.
free_area_init_node: node 0, pg dat c0412d98, node_mem_map c0453000.
Normal zone: 128 pages used for memmap.
Normal zone:0 pages reserved.
Normal zone: 16256 pages, LIFO batch:3
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttymxc0,115200 ubi.mtd=3,2048 root=ubi0:nand.ubifs ip=none rootflags=sync rootfstype=ubifs
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 60548k/60548k available, 4988k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xc4800000 - 0xf4000000 ( 760 MB)
lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0027000 ( 124 kB)
.text : 0xc0027000 - 0xc03d3000 (3760 kB)
.data : 0xc03f0000 - 0xc04133a0 ( 141 kB)
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:208
MXC IRQ initialized
MXC GPIO hardware
mxc_clocksource_init: 66500000
timer_is_v2:1
mult: 15768060
shift: 20
Console: colour dummy device 80x30
ODEBUG: 3 of 3 active objects replaced
ODEBUG: selftest passed
Calibrating delay loop... 199.06 BogoMIPS (lpj=995328)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Unable to handle kernel paging request at virtual address 0000fffe.
pgd = c0004000.
[0000fffe] *pgd=00000000.
Internal error: Oops: 5 [#1] PREEMPT.
last sysfs file: .
Modules linked in:.
CPU: 0 Not tainted (2.6.36.1 #106).
PC is at strcmp+0x4/0x2c.....R is at sysctl_check_table+0x244/0x390.
pc : [<c01a3680>] lr : [<c005c718>] psr: 20000013.
sp : c3823f3.
sp : c3823f28 ip : c3823f18 fp : 00000000.
r10: 00000002 r9 : c03f85c8 r8 : c03f7a70.
r7 : c03f6e04 r6 : 00000001 r5 : c03f7a70 r4 : c03fe6bc.
r3 : 0000fffe r2 : 0000fffe r1 : 0000fffe r0 : 0000fffe.<4>Flags: nzCv IRQs on FIQs on Mo