ubuntu 12.04 使用kdump 捕获内核启动不起来

内核编译和嵌入式产品的设计与开发
回复
wdqwertyuio
帖子: 9
注册时间: 2011-08-29 15:31

ubuntu 12.04 使用kdump 捕获内核启动不起来

#1

帖子 wdqwertyuio » 2014-11-08 21:56

今天,小弟在ubuntu 12.04的系统上使用kdump 转储内核,结果在使内核崩溃后,捕获内核启动不起来,机器卡在那了,下面是小弟在系统上的配置与截图,希望各位仁兄帮忙分析指导一下,小弟先谢谢了。

首先是系统使用的内核是3.2.0-52-geneic ,系统内存是6 G ,然后在系统上安装了apt-get install kdump-tools软件包,由于内核的配置中已有了如下配置:
CONFIG_CRASH_DUMP=y
CONFIG_KEXEC=y
CONFIG_SYSFS=y
CONFIG_DEBUG_INFO=y
CONFIG_PROC_VMCORE=y
CONFIG_RELOCATABLE=y
因此将当前内核既当做了kdump_kernel捕获内核,又将/boot/vmlinuz-3.2.0-52-geneic拷贝到了/usr/lib/debug/vmlinux-3.2.0-52-geneic,将其当作debug_kernel 调试内核。
然后设置了grub启动项的crashkernel, cat /proc/cmdline得到如下:
BOOT_IMAGE=/boot/vmlinuz-3.2.0-52-generic root=UUID=3015f220-cdc3-42aa-ad8c-13f53cc9c84e ro crashkernel=384M-2G:64M,2G-:128M quiet splash vt.handoff=7
同时设置了/etc/default/kdump-tools文件中的USE_KDUMP,设置它的值为1
然后重启系统。
重启系统后使用 cat /proc/iomem |grep Crash 命令可以看到:
2e000000-35ffffff : Crash kernel
crashkernel内存已经预留。
然后使用 service kdump-tools start 命令加载捕获内核,显示
Starting kdump-tools: * loaded kdump kernel
kdump-config test 可以看到:
USE_KDUMP: 1
KDUMP_SYSCTL: kernel.panic_on_oops=1
KDUMP_COREDIR: /var/crash
crashkernel addr: 0x2e000000
kdump kernel addr: relocatable
kdump kernel:
/boot/vmlinuz-3.2.0-52-generic
kdump initrd:
/boot/initrd.img-3.2.0-52-generic
debug kernel:
/usr/lib/debug/vmlinux-3.2.0-52-generic
kexec command to be used:
/sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-3.2.0-52-generic root=UUID=3015f220-cdc3-42aa-ad8c-13f53cc9c84e ro quiet splash vt.handoff=7 init 1 irqpoll maxcpus=1 nousb" --initrd=/boot/initrd.img-3.2.0-52-generic /boot/vmlinuz-3.2.0-52-generic
然后 使用cat /sys/kernel/kexec_crash_loaded 值为1 ,表示捕获内核已经加载了,然后使用 echo "1" >/proc/sys/kernel/sysrq 启用sysrq。
最后使用echo c >/proc/sysrq-trigger 触发内核崩溃,结果内核卡死在那不动了,下面是内核卡在那时打印的panic,各位仁兄帮忙看一下上面的设置有什么问题吗,是不是哪设置不对,导致的捕获内核启动不起来呢?谢谢了!
附件
11.png
头像
astolia
论坛版主
帖子: 6454
注册时间: 2008-09-18 13:11

Re: ubuntu 12.04 使用kdump 捕获内核启动不起来

#2

帖子 astolia » 2014-11-08 23:19

这个里面提到了要把kdump的reset_devices参数去掉
https://wiki.ubuntu.com/Kernel/Crashdum ... load:_Hang
wdqwertyuio
帖子: 9
注册时间: 2011-08-29 15:31

Re: ubuntu 12.04 使用kdump 捕获内核启动不起来

#3

帖子 wdqwertyuio » 2014-11-09 10:50

astolia 写了:这个里面提到了要把kdump的reset_devices参数去掉
https://wiki.ubuntu.com/Kernel/Crashdum ... load:_Hang

他这个好像是在APPEND中去掉,但是我那个一开始就没有加reset_devices参数,只加了 init 1 irqpoll maxcpus=1 nousb,如:
kexec command to be used:
/sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-3.2.0-52-generic root=UUID=3015f220-cdc3-42aa-ad8c-13f53cc9c84e ro quiet splash vt.handoff=7 init 1 irqpoll maxcpus=1 nousb" --initrd=/boot/initrd.img-3.2.0-52-generic /boot/vmlinuz-3.2.0-52-generic
回复