引用第18楼alexchen于2008-04-03 12:33发表的 :
我打了补丁,下载启动后出现以下错误,请版主再分析分析。。
Enter your selection: b
Copy linux kernel from 0x00050000 to 0x30008000, size = 0x00200000 ... done
zImage magic = 0x016f2818
.......
仔细看kernel crash的信息:
<1>
Unable to handle kernel paging request at virtual address 000b8022<1>pgd = c0004000
<1>[000b8022] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in:
CPU: 0
PC is at vgacon_startup+0x25c/0x3f4
LR is at 0xb8000pc : [<c011356c>] lr : [<000b8000>] Not tainted
sp : c0243f74 ip : 000b8022 fp : c0243f98
r10: c02c7864 r9 : 41129200 r8 : c0247250
r7 : ffffaa55 r6 : c021e970 r5 : 000055aa r4 : 00000000
r3 : c02c7854 r2 : 000c0022 r1 : c02c7850 r0 : 00000000
Flags: nzCv IRQs on FIQs off Mode SVC_32 Segment kernel
Control: C000717F Table: 30004000 DAC: 00000017
Process swapper (pid: 0, stack limit = 0xc0242250)
Stack: (0xc0243f74 to 0xc0244000)
3f60: c02ca57c c001e2c8 00000000
3f80: 00000000 3001dcac 3001dc78 c0243fbc c0243f9c c00191e0 c0113320 c01224ac
3fa0: c001e2c0 c001e2c8 c02471a4 c02e7b60 c0243fd4 c0243fc0 c0018aec c00191bc
3fc0: c0007175 c029f444 c0243ff4 c0243fd8 c0008930 c0018acc c0008464 c029f4c8
3fe0: c0007175 c029f444 00000000 c0243ff8 30008030 c0008800 00000000 00000000
Backtrace:
[<c0113310>] (vgacon_startup+0x0/0x3f4) from [<c00191e0>] (con_init+0x34/0x2b0)[<c00191ac>] (con_init+0x0/0x2b0) from [<c0018aec>] (console_init+0x30/0x48)
r7 = C02E7B60 r6 = C02471A4 r5 = C001E2C8 r4 = C001E2C0
[<c0018abc>] (console_init+0x0/0x48) from [<c0008930>] (start_kernel+0x140/0x26c
)
r5 = C029F444 r4 = C0007175
[<c00087f0>] (start_kernel+0x0/0x26c) from [<30008030>] (0x30008030)
r5 = C029F444 r4 = C0007175
Code: e59f7178 e59f5178 e5832000 e581c000 (e1de22b2)
<0>Kernel panic - not syncing: Attempted to kill the idle task!
如果你想学ARM汇编,你可以试试反汇编kernel,然后找出crash的位置;
如果你和我一样懒,就多加几个printk()吧
[ 此贴被kasim在2008-04-03 13:34重新编辑 ]