CentOS内核升级

本文详细介绍了如何从源码编译Linux内核2.6.37版本,包括安装编译环境、下载及解压内核源码、配置内核选项、编译及安装内核等步骤,并特别强调了配置中需要勾选的选项及解决特定错误的方法。

1、使用如下命令安装安装编译前需要的编译环境。

srv10:~# yum install -y gcc make  bison ncurses-devel rpm-build

2、使用如下命令下载内核原码包。

srv10:~# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.37.tar.bz2

3、使用如下命令解压内核原码包。

srv10:~# tar -xvjf linux-2.6.37.tar.bz2 -C /usr/src

4、使用如下命令开始系统的内核编译,先清掉以前的编译的内容(初次编译内核这步也可以省略)。

srv10:~# cd /usr/src/linux-2.6.37

srv10:~# make mrproper

5、使用如下命令复制现有内核编译的配置文件。

srv10:~# cp /boot/config-`uname -r` .config

6、使用如下命令选择需要的内容。

srv10:~# make menuconfig

一定要勾选General setup→[*] enable deprecated sysfs features to support old userspace tools和Processor type and features→HighMemory Support。

7、修改.config文件中CONFIG_SYSFS_DEPRECATED_V2,将原本被注释掉的,CONFIG_SYSFS_DEPRECATED_V2改成CONFIG_SYSFS_DEPRECATED_V2=y。

8、使用如下命令编译内核。

srv10:~# make bzImage && make modules && make modules_install

srv10:~# make install

9、使用如下命令生成RPM包(生成的RPM包位于/usr/src/redhat/RPMS/目录,RPM源码包位于/usr/src/redhat/SRPMS/目录)。

srv10:~# make rpm

10、使用rpm -ivh命令安装上一步生成在/usr/src/redhat/RPMS/目录下i386(或x86_64)目录上的kernel的RPM包。

11、使用rpm命令安装上面生成的RPM包。

12、使用如下命令生成生成initrd文件。

srv10:~# cd /lib/modules

srv10:~# mkinitrd /boot/initrd-2.6.37.img 2.6.37/

在linux-2.6.33以后,如果在升级重启后会报的错误“insmod: error inserting ‘/lib/dm-region-hash.ko’: –1 File exits”,这是 由于initrd里面的init中加载dm-region-hash.ko这个模块重复了,因此需要修改生成的initrd文件(不是所有的机器都会出现这个错),修改的方式如下:

1、解压initrd。

srv10:~# cp /boot/initrd-2.6.37.img /tmp

srv10:~# cd /tmp/

srv10:~# mkdir newinitrd

srv10:~# cd newinitrd/

srv10:~# zcat ../initrd-2.6.33.img |cpio -i

2、编辑init,找到下面的内容,删掉或注释重复的两行。

echo "Loading dm-region-hash.ko module"

insmod /lib/dm-region-hash.ko

echo "Loading dm-region-hash.ko module"

insmod /lib/dm-region-hash.ko

3、重新打包initrd。

srv10:~# find .|cpio -c -o > ../initrd

srv10:~# cd ..

srv10:~# gzip -9 < initrd > initrd-2.6.33.img

4、将initrd重新复制到/boot目录下。

srv10:~# cp initrd-2.6.33.img /boot

转载于:https://www.cnblogs.com/zphj1987/archive/2013/01/05/2846040.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值