linux 编译src.rpm,CentOS6.5下编译src.rpm包的内核

本文详细介绍了如何在CentOS 6.5上编译原生内核版本2.6.32-431.el6,并解决了编译过程中遇到的各种问题。包括src.rpm包的下载与解压、依赖项安装、rpm包的生成及安装,以及如何通过模拟内核崩溃来生成vmcore文件并使用crash工具进行分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CentOS6.5原生内核版本是

Linux 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

在网上下载对应版本的src.rpm包:kernel-2.6.32-431.el6.src.rpm

http://rpm.pbone.net/index.php3/stat/4/idpl/24668468/dir/scientific_linux_6/com/kernel-devel-2.6.32-431.el6.x86_64.rpm.html

1.解压src.rpm包:

# rpm -ivh kernel-2.6.32-431.el6.src.rpm

----------------------------------------

错误提示:

warning: group mockbuild does not exist - using root

warning: user mockbuild does not exist - using root

执行下面两个命令:

# groupadd mockbuild

# useradd mockbuild -g mockbuild

----------------------------------------

2.生成rmp包

# rpmbuild -bb xxx.spec

----------------------------------------

错误提示:

error: Failed build dependencies:

asciidoc is needed by kernel-2.6.32-431.el6.x86_64

newt-devel is needed by kernel-2.6.32-431.el6.x86_64

ftp://rpmfind.net/linux/centos/6.7/os/x86_64/Packages/asciidoc-8.4.5-4.1.el6.noarch.rpm

ftp://rpmfind.net/linux/centos/6.7/os/x86_64/Packages/newt-devel-0.52.11-3.el6.x86_64.rpm

ftp://rpmfind.net/linux/centos/6.7/os/x86_64/Packages/slang-devel-2.2.1-1.el6.x86_64.rpm

解决办法:

#rpm -ivh /home/zq/kernel/asciidoc-8.4.5-4.1.el6.noarch.rpm

#rpm -ivh /home/zq/kernel/slang-devel-2.2.1-1.el6.x86_64.rpm

#rpm -ivh /home/zq/kernel/newt-devel-0.52.11-3.el6.x86_64.rpm

----------------------------------------

卡住gpg: keyring `./pubring.gpg' created不动了

解决办法:

执行一下命令:

rngd -r /dev/urandom

----------------------------------------

3.安装rpm包

#cd /root/rpmbuild/RPMS/x86_64/

#rpm -ivh kernel-debuginfo-common-x86_64-2.6.32-431.el6.x86_64.rpm

#rpm -ivh kernel-debug-2.6.32-431.el6.x86_64.rpm

#rpm -ivh kernel-debug-debuginfo-2.6.32-431.el6.x86_64.rpm

4.调试内核

4.1 模拟机内内核奔溃

echo  c  >  /proc/sysrq-trigger

执行此命令内核崩溃,会在/var/crash目录下生成vmcore文件。(vim /etc/kdump.conf; path /var/crash)

4.2 分析vmcore

进入目录/var/crash/127.0.0.1-2014-02-24-09:30:19,可以看到vmcore文件。

1.执行/usr/bin/crash  /usr/lib/debug/lib/modules/2.6.32-220.el6.x86_64/vmlinux  vmcore

2.具体分析过程见:http://blog.csdn.net/guowenyan001/article/details/12975221

参考资料:

Linux内核调试:kdump、vmcore、crash、kernel-debuginfo

http://blog.csdn.net/guowenyan001/article/details/19807555

细谈.src.rpm软件包安装方法

http://blog.chinaunix.net/uid-21266384-id-186416.html

阅读(3085) | 评论(0) | 转发(0) |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值