RHEL5.1系统内核版本2.6.18升级到内核版本2.6.30

由于要编译X86平台上的linux模块,原操作系统上面没有配备内核源代码,所以无法编译内核,更不能进行内核模块的实验了。参考了很多的资料,决定对运行的linux的内核版本进行升级。最后升级成功。下面把方法总结如下:

一、环境

红帽子企业版5,在linux下进入root用户

#uname -r

2.6.18-53.el5

二、升级过程

1) 下载内核

升级之前到看看有没有最新的内核,目前为止最新的是2.6.30,下载地址是:

2) 将linux-2.6.30.tar.bz2拷贝到/usr/src目录下面,使用下面的命令解压,得到文件夹linux-2.6.30

tar xjvf linux-2.6.30.tar.bz2

3) make mrproper

假如是第一次编译,这一步骤可以省掉的。

4) 复制原有的config文件到linux-2.6.30目录

#cd /usr/src/linux-2.6.30

# cp /boot/config-2.6.18-53.el5 .config

5) make menuconfig

选择Load an Alternate Configuration File,导入.config文件,更加自己的需要添加功能或者进行精简。

注:内核配置有两种方法,一种是直接置入内核* ;另一种是编成模块M ;两种方法各有优点;直接编入内核的,比如设备的启动,不再需要加载模块的这一过程了;而编译成模块,则需要加载设备的内核支持的模块;但直接把所有的东西都编入内核也不是可行的,内核体积会变大,系统负载也会过重。我们编内核时最好把极为重要的编入内核;其它的如果您不明白的,最好用默认。

6) 编译内核

make bzImage

7) 编译内核模块

make modules

8) 安装内核模块

make modules_install

(PS:将编译好的内核模块从内核源代码目录copy至/lib/modules下)

9) 制作init ramdisk

mkinitrd initrd-2.6.30 2.6.30

(PS:2.6.30必须要在/lib/modules下可以找到)

10) cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.30

(PS: vmlinuz-2.6.30这个名字是可以随便取的)

11) cp initrd-2.6.30 /boot/

12) vi /etc/grub.conf

(PS:主要是复制源内核那部分的,然后进行修改,主要修改部分为title和kernel和initrd)

13) reboot

,在前进的路上,主动搬开别人脚下的绊脚石,有时往往也是为自己铺路。

RHEL5.1系统内核版本2.6.18升级到内核版本2.6.30

相关文章:

你感兴趣的文章:

标签云: