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
转载于:https://blog.51cto.com/liwenhn/1921383