今天给服务器升级内核,实验环境rhel6.2,升级前内核版本2.6.26,升级后内核版本3.3.6.步骤如下:
1、下载内核源码,可在http://www.kernel.org/pub/linux/kernel/下载。本次我下载的是linux-3.3.6.tar.gz。
2、将下载的内核代码拷贝至/usr/src下,cp linux-3.3.6.tar.gz /usr/src/。
3、解压,tar -zxvf linux-3.3.6.tar.gz。
4、建立软链接,ln -s linux-3.3.6 rhel。
5、进入rhel目录,cd /usr/src/rhel。
6、把原来编译产生的文件删除,make mrproper。假如以前编译过内核,会产生上述文件,将会造成编译的失败。
7、配置内核,从下面选择一种,一般选择make menuconfig。
make config 传统的文本内核编译模式,但出错后无法返回。
make menuconfig 基于文本的内核编译模式,出错可返回,建议使用此等模式。
make xconfig 基于图形化的内核编译模式
make oldconfig 只对当前内核稍作修改
配置后“exit”,系统询问“Do you wish to save your new kernel configuration?”,选择“yes”。
8、确定倚赖关系,make dep。
9、确定内核源码中没有文件,make clean。
10、编译内核,make bzImage。时间较长
11、编译内核模块,make modules。时间很长。
12、安装模块,make modules_install。
13、安装内核,make install。
这条命令主要完成以下工作:(1)把压缩内核映象拷贝到/boot目录下, 并创建相应的System.map符号链接;(2)调用mkinitrd程序创建内核的initrd映象。修改GRUB配置文件, /etc/grub.conf或/boot/grub/grub.conf。
一些朋友手动完成“make install”所完成的工作。我尝试了一下,遇到一些问题。我对于grub认识不是很透彻,个人认为还是使用make install稳妥一些。
14、重启即可。