RHEL6编译升级官方内核

RHEL6编译升级官方内核

RHEL是一个商业支持的Linux版本,他的软件可以免费获得,免费使用,但是补丁和技术支持则需收费。但是根据GPLv2协议,对内核的任何改动都必须公布代码,所以RedHat只将源码公布在官方的FTP上,没有给出二进制包。对于没有买RHEL服务的人来说,则需要自己手动将源码编译成RPM二进制包。

1)安装编译环境(RHEL6.5 x86_64)

# yum -y install rpm* xmlto asciidoc elfutils-libelf-devel zlib-devel binutils-devel newt-devel python-devel hmaccalc perl*
# wget http://mirror.centos.org/centos/6/os/i386/Packages/asciidoc-8.4.5-4.1.el6.noarch.rpm
# wget http://mirror.centos.org/centos/6/os/x86_64/Packages/newt-devel-0.52.11-3.el6.x86_64.rpm
# wget http://mirror.centos.org/centos/6/os/x86_64/Packages/slang-devel-2.2.1-1.el6.x86_64.rpm
# rpm -ivh asciidoc-8.4.5-4.1.el6.noarch.rpm newt-devel-0.52.11-3.el6.x86_64.rpm slang-devel-2.2.1-1.el6.x86_64.rpm

2)下载内核源码

# wget ftp.redhat.com:/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/kernel-2.6.32-431.el6.src.rpm

3)生成内核源码树

# groupadd mockbuild
# useradd -g mockbuild mockbuild
# rpm -ivh kernel-2.6.32-431.el6.src.rpm
# cd /root/rpmbuild/SPECS/
# rpmbuild -bp --with fireware --target=`uname -m` kernel.spec

生成过程的中会生成key,用于签署内核模块,可以运行命令提升生成速度:rngd -r /dev/urandom

4)最后一步

# cd /root/rpmbuild/BUILD/kernel-2.6.32-431.el6/linux-2.6.32-431.el6.x86_64
# cp /boot/config-2.6.32-431.el6.x86_64 .config
# make menuconfig
# make
# make modules_install
# make install

重启选择新内核即可。

你可能感兴趣的:(系统运维)