【问题标题】:could not to setup crash dump on centos7 for debug kernel无法在 centos7 上设置故障转储以调试内核
【发布时间】:2015-11-06 11:33:44
【问题描述】:

我正在尝试设置 kdump 来为 kernel-3.10.0-123.el7 生成 vmcore。对于 perf 内核 kernel-3.10.0-123.el7.x86_64.rpm 我设置了 kdump 并且 kdump 也可以正常工作,生成 vmcore。 然后我安装了

内核调试-3.10.0-123.el7.x86_64.rpm

使用 yum install kernel-debug-3.10.0-123.el7.x86_64.rpm 和 kdump 工作正常。

但是我没有 vmlinux 来读取调试内核的 vmcore。 然后我使用 rpmbuild 从源代码构建源代码

kernel-3.10.0-123.el7.src.rpm

但我在

中看到了 vmlinux

~/rpmbuild/BUILD/kernel-3.10.0-123.el7/linux-3.10.0-123.el7.x86_64/vmlinux

仅用于 perf 内核,不适用于调试内核

所以从 ~/rpmbuild/SOURCES

我复制了 linux-3.10.0-123.el7.x86_64.tar.xz 并使用了 kernel-3.10.0-x86_64-debug.config as .config 获取vmlinux

当我使用这个新构建的 vmlinux 调试内核崩溃时,它抛出了内核版本不匹配的错误。现在我被卡住了。

请帮助我在 centos7 上使用调试内核和调试 vmlinux 设置 kdump。

【问题讨论】:

  • 你应该使用你的本机系统内核vmlinux,这是什么问题?
  • kernel-3.10.0-123.el7.x86_64.rpm 默认内核是centos7自带的...我在虚拟机上安装了centos7的另一件事

标签: linux debugging linux-kernel crash centos7


【解决方案1】:

由于我是 centos 新手,我不知道调试包有 vmlinux。我已经使用以下命令安装了调试 rpm:

yum --enablerepo=debug install kexec-tools crash kernel-debug kernel-debuginfo-`uname -r`

我注意到 kernel-debuginfo-3.10.0-123.el7.x86_64 的位置有 vmlinux:

/usr/lib/debug/lib/modules/3.10.0-123.el7.x86_64/vmlinux

所以我得到了 vmlinux。

此 vmlinux 可与非调试内核一起使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 2012-08-06
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    相关资源
    最近更新 更多