阿里云ECS编译升级VM内核到4.x
今天没事通过编译的方法,测试了一下centos7.x系统下降3.x内核升级到4.x,记录一下。以前阿里云的ECS是不可以升级内核的,实际阿 里云centos5.8以上的系统,就支持yum升级内核了。只是内核升级是一件有风险的事情,特别是在定制的非标准硬件的云环境下,所以阿里云ECS购买须知也明确提醒,不要轻易升级内核。
操作有风险,请做好快照备份。下面是操作过程:
查看当前系统版本centos7.0;内核版本:3.10.0;
[root@iZ28yx1yevuZ ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.0.1406 (Core) Release: 7.0.1406 Codename: Core [root@iZ28yx1yevuZ ~]# uname -r 3.10.0-123.9.3.el7.x86_64
[root@iZ28yx1yevuZ ~]#wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.1.6.tar.xz;mv linux-4.1.6.tar.xz /usr/src [root@iZ28yx1yevuZ ~]#cd /usr/src;tar -xf linux-4.1.6.tar.xz
解压压缩包,并通过make menuconfig方式编译,如下,出现报错:
这是因为menuconfig需要ncurses-devel 支持,下面安装ncurses-devel后重新编译就可以了
root@iZ28yx1yevuZ ~]# yum install ncurses-devel -y
由于阿里云目前大部分机器还是xen环境的,所以阿里云环境下编译和普通系统相比,需要增加xen guest support,如下(menuconfig下如果找不到配置,可以个vi一样,通过”/”方式搜索):
注意:这些模块需要built-in,也就是复选框内需要是*,而不是M
Processor type and features->Linux guest support->Xen guest support
Device Drivers —> Block devices —> Xen virtual block device support
Device Drivers —> Block devices —> Xen block-device backend driver
Device Drivers —> Block devices —> Xen block-device backend driver
Device Drivers —>Xen driver support 把下面的选项建议都选上
网络方面的驱动:
Device Drivers —> Network device support —> Xen network device frontend driver
Device Drivers —> Network device support —> Xen backend network device
完成后开始编译,这里使用vzImage编译后的核心是压缩的。
[root@iZ28yx1yevuZ ~]#make -j 16 bzImage
(这个过程会非常的漫长,为了防止终端意外断开导致前功尽弃,这里建议在screen下执行操作。我测试服务器是16核,所以这里制定了16个job加速编译)
完成后依次编译模块,安装
[root@iZ28yx1yevuZ ~]#make -j16 modules [root@iZ28yx1yevuZ ~]#make -j16 modules_install [root@iZ28yx1yevuZ ~]#make -j16 install
完成后看一下grub文件,目前有三个引导项目:
root@iZ28yx1yevuZ ~]#cat /etc/grub2.cfg |egrep ^menuentry
看一下目前的默认引导项是3.10.0内核
root@iZ28yx1yevuZ linux-4.1.6]# grub2-editenv list saved_entry=CentOS Linux (3.10.0-123.9.3.el7.x86_64) 7 (Core)
QQ咨询
阿里旺旺
#skype#












