当前位置: 技术问答>linux和unix
内核启动时死掉了,如何分析解决呢
来源: 互联网 发布时间:2016-10-20
本文导语: 内核启动时,死掉了,这个怎么分析解决呢 Starting kernel ... Uncompressing Linux... done, booting the kernel. Linux version 2.6.36 (root@localhost.localdomain) (gcc version 3.4.1) #111 PREEMPT Tue Nov 23 14:25:59 EST 2010 CPU: ARM926EJ-S [41069...
内核启动时,死掉了,这个怎么分析解决呢
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.36 (root@localhost.localdomain) (gcc version 3.4.1) #111 PREEMPT Tue Nov 23 14:25:59 EST 2010
CPU: ARM926EJ-S [41069264] revision 4 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Freescale i.MX27ADS
Memory policy: ECC disabled, Data cache writeback
BUG: mapping for 0x10000000 at 0xd4000000 overlaps vmalloc space
BUG: mapping for 0x80000000 at 0xd4100000 overlaps vmalloc space
BUG: mapping for 0xd8000000 at 0xd4200000 overlaps vmalloc space
BUG: mapping for 0xd4000000 at 0xeb000000 overlaps vmalloc space
BUG: mapping for 0xd6000000 at 0xec000000 overlaps vmalloc space
On node 0 totalpages: 16384
free_area_init_node: node 0, pgdat c03729d4, node_mem_map c038b000
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,115200n8 root=/dev/mtdblock2 rootfstype=jffs2 noinitrd
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: 61348k/61348k available, 4188k 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 - 0xc0022000 ( 104 kB)
.text : 0xc0022000 - 0xc0358000 (3288 kB)
.data : 0xc0358000 - 0xc0372fe0 ( 108 kB)
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:208
MXC IRQ initialized
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 80000005 [#1] PREEMPT
last sysfs file:
Modules linked in:
CPU: 0 Not tainted (2.6.36 #111)
PC is at 0x0
LR is at time_init+0x1c/0x24
pc : [] lr : [] psr: 600000d3
sp : c0359fc4 ip : c0359fd4 fp : c0359fd0
r10: a001e2b0 r9 : 41069264 r8 : a001e2e4
r7 : c035bb04 r6 : c001f5e4 r5 : c0373064 r4 : c0373074
r3 : c03731a0 r2 : c0373258 r1 : c0373c30 r0 : 00000001
Flags: nZCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel
ontrol: 0005317f Table: a0004000 DAC: 00000017
Process swapper (pid: 0, stack limit = 0xc0358260)
Stack: (0xc0359fc4 to 0xc035a000)
9fc0: c0359ff4 c0359fd4 c0008a8c c000a238 c0008520 c001f5e4 00053175
9fe0: c0373110 c001f5e0 00000000 c0359ff8 a0008030 c000891c 00000000 00000000
Backtrace:
[] (time_init+0x0/0x24) from [] (start_kernel+0x180/0x2c4)
[] (start_kernel+0x0/0x2c4) from [] (0xa0008030)
r6:c001f5e0 r5:c0373110 r4:00053175
Code: bad PC value
---[ end trace 1b75b31a2719ed1c ]---
Kernel panic - not syncing: Attempted to kill the idle task!
Backtrace:
[] (dump_backtrace+0x0/0x12c) from [] (dump_stack+0x18/0x1c)
r7:00000000 r6:00000000 r5:00000000 r4:0000000b
[] (dump_stack+0x0/0x1c) from [] (panic+0x64/0x198)
[] (panic+0x0/0x198) from [] (do_exit+0x1d8/0x6ac)
r3:00000000 r2:c035aeb0 r1:00000000 r0:c0319d48
[] (do_exit+0x0/0x6ac) from [] (die+0x2a0/0x2d8)
[] (die+0x0/0x2d8) from [] (__do_kernel_fault+0x6c/0x8c)
[] (__do_kernel_fault+0x0/0x8c) from [] (do_page_fault+0x278/0x350)
r8:00000000 r7:00000000 r6:c035aeb0 r5:c0359f7c r4:00000000
] (do_page_fault+0x0/0x350) from [] (do_translation_fault+0x9c/0xa4)
[] (do_translation_fault+0x0/0xa4) from [] (do_PrefetchAbort+0x40/0xa8)
r6:c035bf14 r5:00000005 r4:ffffffff
[] (do_PrefetchAbort+0x0/0xa8) from [] (__pabt_svc+0x44/0x80)
Exception stack(0xc0359f7c to 0xc0359fc4)
9f60: 00000001
9f80: c0373c30 c0373258 c03731a0 c0373074 c0373064 c001f5e4 c035bb04 a001e2e4
9fa0: 41069264 a001e2b0 c0359fd0 c0359fd4 c0359fc4 c000a
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.36 (root@localhost.localdomain) (gcc version 3.4.1) #111 PREEMPT Tue Nov 23 14:25:59 EST 2010
CPU: ARM926EJ-S [41069264] revision 4 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Freescale i.MX27ADS
Memory policy: ECC disabled, Data cache writeback
BUG: mapping for 0x10000000 at 0xd4000000 overlaps vmalloc space
BUG: mapping for 0x80000000 at 0xd4100000 overlaps vmalloc space
BUG: mapping for 0xd8000000 at 0xd4200000 overlaps vmalloc space
BUG: mapping for 0xd4000000 at 0xeb000000 overlaps vmalloc space
BUG: mapping for 0xd6000000 at 0xec000000 overlaps vmalloc space
On node 0 totalpages: 16384
free_area_init_node: node 0, pgdat c03729d4, node_mem_map c038b000
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,115200n8 root=/dev/mtdblock2 rootfstype=jffs2 noinitrd
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: 61348k/61348k available, 4188k 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 - 0xc0022000 ( 104 kB)
.text : 0xc0022000 - 0xc0358000 (3288 kB)
.data : 0xc0358000 - 0xc0372fe0 ( 108 kB)
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:208
MXC IRQ initialized
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 80000005 [#1] PREEMPT
last sysfs file:
Modules linked in:
CPU: 0 Not tainted (2.6.36 #111)
PC is at 0x0
LR is at time_init+0x1c/0x24
pc : [] lr : [] psr: 600000d3
sp : c0359fc4 ip : c0359fd4 fp : c0359fd0
r10: a001e2b0 r9 : 41069264 r8 : a001e2e4
r7 : c035bb04 r6 : c001f5e4 r5 : c0373064 r4 : c0373074
r3 : c03731a0 r2 : c0373258 r1 : c0373c30 r0 : 00000001
Flags: nZCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel
ontrol: 0005317f Table: a0004000 DAC: 00000017
Process swapper (pid: 0, stack limit = 0xc0358260)
Stack: (0xc0359fc4 to 0xc035a000)
9fc0: c0359ff4 c0359fd4 c0008a8c c000a238 c0008520 c001f5e4 00053175
9fe0: c0373110 c001f5e0 00000000 c0359ff8 a0008030 c000891c 00000000 00000000
Backtrace:
[] (time_init+0x0/0x24) from [] (start_kernel+0x180/0x2c4)
[] (start_kernel+0x0/0x2c4) from [] (0xa0008030)
r6:c001f5e0 r5:c0373110 r4:00053175
Code: bad PC value
---[ end trace 1b75b31a2719ed1c ]---
Kernel panic - not syncing: Attempted to kill the idle task!
Backtrace:
[] (dump_backtrace+0x0/0x12c) from [] (dump_stack+0x18/0x1c)
r7:00000000 r6:00000000 r5:00000000 r4:0000000b
[] (dump_stack+0x0/0x1c) from [] (panic+0x64/0x198)
[] (panic+0x0/0x198) from [] (do_exit+0x1d8/0x6ac)
r3:00000000 r2:c035aeb0 r1:00000000 r0:c0319d48
[] (do_exit+0x0/0x6ac) from [] (die+0x2a0/0x2d8)
[] (die+0x0/0x2d8) from [] (__do_kernel_fault+0x6c/0x8c)
[] (__do_kernel_fault+0x0/0x8c) from [] (do_page_fault+0x278/0x350)
r8:00000000 r7:00000000 r6:c035aeb0 r5:c0359f7c r4:00000000
] (do_page_fault+0x0/0x350) from [] (do_translation_fault+0x9c/0xa4)
[] (do_translation_fault+0x0/0xa4) from [] (do_PrefetchAbort+0x40/0xa8)
r6:c035bf14 r5:00000005 r4:ffffffff
[] (do_PrefetchAbort+0x0/0xa8) from [] (__pabt_svc+0x44/0x80)
Exception stack(0xc0359f7c to 0xc0359fc4)
9f60: 00000001
9f80: c0373c30 c0373258 c03731a0 c0373074 c0373064 c001f5e4 c035bb04 a001e2e4
9fa0: 41069264 a001e2b0 c0359fd0 c0359fd4 c0359fc4 c000a
|
好像是这样哦,内核启动时候没找到对应的起始地址不对
|
Memory policy: ECC disabled, Data cache writeback
BUG: mapping for 0x10000000 at 0xd4000000 overlaps vmalloc space
BUG: mapping for 0x80000000 at 0xd4100000 overlaps vmalloc space
BUG: mapping for 0xd8000000 at 0xd4200000 overlaps vmalloc space
BUG: mapping for 0xd4000000 at 0xeb000000 overlaps vmalloc space
BUG: mapping for 0xd6000000 at 0xec000000 overlaps vmalloc space
On node 0 totalpages: 16384
从开头的内存映射开始改吧, 看看分区表有没有错
Unable to handle kernel NULL pointer dereference at virtual address 00000000
这个错好像也遇到过,忘了怎么改的了。 重新编译内核吧, 把引导位置要写对。
BUG: mapping for 0x10000000 at 0xd4000000 overlaps vmalloc space
BUG: mapping for 0x80000000 at 0xd4100000 overlaps vmalloc space
BUG: mapping for 0xd8000000 at 0xd4200000 overlaps vmalloc space
BUG: mapping for 0xd4000000 at 0xeb000000 overlaps vmalloc space
BUG: mapping for 0xd6000000 at 0xec000000 overlaps vmalloc space
On node 0 totalpages: 16384
从开头的内存映射开始改吧, 看看分区表有没有错
Unable to handle kernel NULL pointer dereference at virtual address 00000000
这个错好像也遇到过,忘了怎么改的了。 重新编译内核吧, 把引导位置要写对。
|
像这类问题非常头痛,我也曾经深受其害,经常和编译器,内核配置有关。
|
kernel panic 完全不懂阿
|
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:208
MXC IRQ initialized
Unable to handle kernel NULL pointer dereference at virtual address 00000000
用find 和grep命令找一下MXC IRQ initialized出现的文件,然后看一下将要执行什么,做好记录。
Verbose stalled-CPUs detection is disabled.
NR_IRQS:208
MXC IRQ initialized
Unable to handle kernel NULL pointer dereference at virtual address 00000000
用find 和grep命令找一下MXC IRQ initialized出现的文件,然后看一下将要执行什么,做好记录。