/ 铃儿响叮当 / 在openSUSE上使用crash

在openSUSE上使用crash

2013-01-24 posted in [Kernel]

###准备工作 本文基于当前openSUSE的稳定版本12.2。

  1. 添加安装源

    在YaST中的软件安装源中点击添加的按钮后选择社区安装源,然后把openSUSE-12.2-debug, openSUSE-12.2-Update-Debug, openSUSE-12.2-Update-Debug-Non-Oss这几个包含调试信息的源加上。

  2. 需要安装crash和与kernel对应的crash.ko

    没什么好说的直接在yast中安装或运行下面命令

    zypper in crash crash-kmp-desktop

  3. 安装与kernel对应的debug版本vmlinux-xxx.debug

    注意不是kernel-desktop-debuginfo,而是kernel-desktop-devel-debuginfo,前者包括kernel各个模块的调试信息,所以安装完后大要占1.3G的空间,而vmlinux.debug不到200M。

    zyper in kernel-desktop-devel-debuginfo

###openSUSE内核的版本

当你使用zypper se kernel你会发现openSUSE提供了太多的内核,一定会迷惑相当一部分人。

没有任何一个内核能适用于各种场合,所以发行厂商都提供了许多内核的变体,称其为‘口味’,只是名称有所不同,以下列出了openSUSE所提供的各种‘品味’的内核。

kernel-debug 这个内核包含了一些有损性能的调试工具,只是需要定位问题时安装
kernel-default 标准版本的内核
kernel-desktop 针对桌面优化的内核,配置为低延迟并禁用了一些不常用的特性,这个内核支持最大64G的内存
kernel-ec2 用于Amazon EC2的无特权的内核(XenU)
kernel-pae 支持64G的内存,但需要支持物理地址扩展(PAE),这个在Pentium Pro处理器引入的机制
kernel-trace 这个内核启用了tracing特性(如utrace, ftrace)
kernel-vanilla 没有任何SUSE补丁的内核
kernel-xen 用于domain0 (“xen0”) 和无特权的(“xenU”) 内核

同时每一种内核都会分为以下几个包

kernel-xxx 某一口味的内核
kernel-xxx-base 只包含基本模块的内核,和kernel-xxx不能同安装
kernel-xxx-base-debuginfo 包含内核的基本模块的调试信息
kernel-xxx-debuginfo 包含内核各个模块的调试信息
kernel-xxx-debugsource 包含内核调试源代码
kernel-xxx-devel 包含编译内核和模块所需的头文件
kernel-xxx-devel-debuginfo 包含内核的调试信息

###未完