crash kernel失败,请达人指点!
本帖最后由 bluempire 于 2013-06-25 20:44 编辑调试kdump的过程中遇到以下问题,具体函数调用栈如下:
1)Unable to handle kernel paging request for instruction fetch"什么情况下导致的?我看是page_fault,但是为什么page_fault呢?请有kdump经验的同学帮忙,谢谢了
start...!
Bye!
page_list=0x4,reboot_code_buffer=0xc25ed000,reboot_code_buffer_phys=0x25ed000,image->start=0x25e76dc
Unable to handle kernel paging request for instruction fetch
Faulting instruction address: 0x025ed020
Oops: Kernel access of bad area, sig: 11 [#2]
Modules linked in:
NIP: 025ed020 LR: c0013650 CTR: c25ed000
REGS: df931c00 TRAP: 0400 Tainted: G D (2.6.33)
MSR: 00001000 <ME>CR: 24002822XER: 20000000
TASK = cb84eee0 'sh' THREAD: df930000
GPR00: 00000000 df931cb0 cb84eee0 00000004 025ed000 025e76dc c02693dc c05f0838
GPR08: 025ed020 c05e515c 00005ad7 00004000 24002822 1009b14c 1ffd4800 00000000
GPR16: 1ff8d940 10073690 100788ba bf9a80d8 00000000 100736b0 00000000 10097294
GPR24: bf9a8fbe 00000007 00000004 cb8da800 025ed000 c25ed000 df931ce8 df931df0
NIP 0x25ed020
LR audit_classify_arch+0x0/0x8
Call Trace:
default_machine_kexec+0x8c/0xa0 (unreliable)
machine_kexec+0x34/0x38
crash_kexec+0x94/0xc0
die+0xf8/0x1e0
bad_page_fault+0x98/0xe8
handle_page_fault+0x7c/0x80
__handle_sysrq+0x88/0x17c
write_sysrq_trigger+0x64/0x68
proc_reg_write+0x4c/0x70
vfs_write+0xb4/0x184
sys_write+0x4c/0x90
ret_from_syscall+0x0/0x3c
Instruction dump:
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
crash_kexec entered-
Kernel panic - not syncing: Fatal exception
crash_kexec entered-
Rebooting in 180 seconds.. ARM 还是PPC? kdump 起capture kernel的代码跟arch相关。 谢谢,我用的是ppc架构的,e500内核的。
问题定位中。。。求助 回复 1# bluempire
把你的crashkernel的参数调整的大一些再试试
看最后貌似留给crashkernel的内存小了些 第二个vmlinux大小为7M,我设置的crashkernel=192M@32M
修改后,还是不行。
我的操作是不是有问题啊?
kexec -l vmlinux --dtb=airplane.dtb
kexec -e 回复 5# bluempire
你机器的内存有多大?
总共512M.
这个问题可真够麻烦的,到目前还没什么进展,有什么调试建议吗? 把你的机器设置为 crashkernel=128M@32M
然后重启
之后看看 kdump 是否成功启动
启动之后 echo c > /proc/sysrq-trigger 看看是不是还是这个情况 好的谢谢。
echo c > /proc/sysrq-trigger ,我试过了,还是同样的问题。
之后看看 kdump 是否成功启动??---这个是什么意思?
试试crashkernel=256M@32M