CentOS v6.9 x64内核升级为longterm 4.9.25

longterm:4.9.25  2017-04-27发布


获取并解压内核源码,配置编译项

http://www.kernel.org 首页,可以看到有stable, longterm等版本,longterm是比stable更稳定的版本,会长时间更新,因此我选择 4.9.25。

系统使用CentOS-6.9-x86_64-minimal.iso (408M)安装得到。

安装于VMware Esxi5.5 主机上,分配4vCPU、4G内存给它。


一、安装编辑环境

yum groupinstall "Development Tools"

yum install ncurses-devel ncurses

yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel

yum install openssl openssl-devel bc

yum install autoconf automake glibc-headers gcc gcc-c++ libtool make pkgconfig nasm git


二、下载编码包

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.9.25.tar.xz

tar -xf linux-4.9.25.tar.xz  -C /usr/src

cd /usr/src/linux-4.9.25/


三、生成内核配置文件

如果使用菜单配置,设置好,保存并退出。

此处我不使用这种模式,直接用原来内核配置文件来得方便。

[root@vm01 linux-4.9.25]#  make menuconfig

(使用原来内核配置的基础上修改一些小地方,会省去不少麻 烦) 

[root@vm01 linux-4.9.25]# cp /boot/config-2.6.32-696.1.1.el6.x86_64   .config

[root@vm01 linux-4.9.25]# vi /usr/src/linux-4.9.25/.config

CONFIG_VMWARE_VMCI=y

CONFIG_CRYPTO_CRCT10DIF=y 

CONFIG_VSOCKETS=y

CONFIG_VMWARE_BALLOON=m

CONFIG_VMW_BALLOON=m

加入这几行到末尾

此配置文件,请见我使用的附件


[root@vm01 linux-4.9.25]# sh -c 'yes "" | make oldconfig'


四、开始编译

  1、生成内核文件,要花10分钟左右

[root@vm01 linux-4.9.25]# make -j4 bzImage  

 AS      arch/x86/boot/header.o

  LD      arch/x86/boot/setup.elf

  OBJCOPY arch/x86/boot/setup.bin

  BUILD   arch/x86/boot/bzImage

Setup is 15388 bytes (padded to 15872 bytes).

System is 4972 kB

CRC f6e0ee50

Kernel: arch/x86/boot/bzImage is ready  (#1)


 2、编译模块,要花30分钟左右

[root@vm01 linux-4.9.25]# make -j4 modules  


 3、编译安装模块

[root@vm01 linux-4.9.25]# make -j4 modules_install  


五、安装内核

[root@vm01 linux-4.9.25]# make install

ERROR: modinfo: could not find module vsock

ERROR: modinfo: could not find module vmware_balloon

ERROR: modinfo: could not find module vmci

ERROR: modinfo: could not find module crc_t10dif

出现报错,先不理它。重起后再编译一次即可

正常情况,如下。不现出错误提示。

[root@vm01 linux-4.9.25]# make install

sh ./arch/x86/boot/install.sh 4.9.25 arch/x86/boot/bzImage \

                System.map "/boot"


六、修改grub引导,重启系统

安装完成后,需要修改Grub引导顺序,让新安装的内核作为默认内核。 编辑 grub.conf文件,

[root@vm01 linux-4.9.25]# vi /etc/grub.conf

#boot=/dev/sda

default=0

timeout=5

splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz

数一下刚刚新安装的内核在哪个位置,从0开始,然后设置default为那个数字,一般新安装的内核在第一个位置,所以设置default=0。

重启reboot:

[root@vm01 linux-4.9.25]#  reboot

 出现报错的,可以先清除所有配置,再重新编译:

 #完成或者安装过程出错,可以清理上次编译的现场

make mrproper        

make clean



七、查看当前使用的内核版本

[root@vm01 ~]# uname -r

4.9.25  


八、重新安装VMware-Tools

[root@vm01 ~]# mkdir /vmware

[root@vm01 ~]# cd /vmware

[root@vm01 vmware]# tar zxvf VMwareTools-9.4.10-2068191.tar.gz 

[root@vm01 vmware]# cd /vmware/vmware-tools-distrib

[root@vm01 vmware-tools-distrib]# ./vmware-install.pl


其它参考文章

http://xiguanmin.blog.51cto.com/4857855/1553714

http://blog.csdn.net/qq_29350001/article/details/51489310

 Linux内核配置和编译过程详解 


测试完成日期:2017.05.02 by evan.li