您现在的位置是:首页 > 文章详情

阿里云ECS编译升级VM内核到4.x

日期:2016-04-06点击:553

今天没事通过编译的方法,测试了一下centos7.x系统下降3.x内核升级到4.x,记录一下。以前阿里云的ECS是不可以升级内核的,实际阿里云centos5.8以上的系统,就支持yum升级内核了。只是内核升级是一件有风险的事情,特别是在定制的非标准硬件的云环境下,所以阿里云ECS购买须知也明确提醒,不要轻易升级内核。
操作有风险,请做好快照备份。下面是操作过程:

查看当前系统版本centos7.0;内核版本:3.10.0;

1 [root@iZ28yx1yevuZ ~]# lsb_release -a
2 LSB Version:    :core-4.1-amd64:core-4.1-noarch
3 Distributor ID: CentOS
4 Description:    CentOS Linux release 7.0.1406 (Core)
5 Release:        7.0.1406
6 Codename:       Core
7 [root@iZ28yx1yevuZ ~]# uname -r
8 3.10.0-123.9.3.el7.x86_64

1
前往kernel.org下载目前最新的内核版本:

1 [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
2 [root@iZ28yx1yevuZ ~]#cd /usr/src;tar -xf linux-4.1.6.tar.xz
解压压缩包,并通过make menuconfig方式编译,如下,出现报错:
2

这是因为menuconfig需要ncurses-devel 支持,下面安装ncurses-devel后重新编译就可以了

1 root@iZ28yx1yevuZ ~]# yum install ncurses-devel -y
3
由于阿里云目前大部分机器还是xen环境的,所以阿里云环境下编译和普通系统相比,需要增加xen guest support,如下(menuconfig下如果找不到配置,可以个vi一样,通过”/”方式搜索):
注意:这些模块需要built-in,也就是复选框内需要是*,而不是M
Processor type and features->Linux guest support->Xen guest support
4
 Device Drivers  —> Block devices  —> Xen virtual block device support
Device Drivers  —> Block devices  —>  Xen block-device backend driver
  5
Device Drivers  —>Xen driver support  把下面的选项建议都选上
6
 网络方面的驱动:

Device Drivers  —> Network device support  —> Xen network device frontend driver
Device Drivers  —> Network device support  —>  Xen backend network device

7

完成后开始编译,这里使用vzImage编译后的核心是压缩的。

1 [root@iZ28yx1yevuZ ~]#make -j 16 bzImage

(这个过程会非常的漫长,为了防止终端意外断开导致前功尽弃,这里建议在screen下执行操作。我测试服务器是16核,所以这里制定了16个job加速编译)

8
可以看到16core都是跑满状态 9
完成后依次编译模块,安装
1 [root@iZ28yx1yevuZ ~]#make -j16 modules
2 [root@iZ28yx1yevuZ ~]#make -j16 modules_install
3 [root@iZ28yx1yevuZ ~]#make -j16 install
10
 完成后看一下grub文件,目前有三个引导项目:
1 root@iZ28yx1yevuZ ~]#cat /etc/grub2.cfg |egrep ^menuentry
  11
看一下目前的默认引导项是3.10.0内核
1 root@iZ28yx1yevuZ linux-4.1.6]# grub2-editenv list
2 saved_entry=CentOS Linux (3.10.0-123.9.3.el7.x86_64) 7 (Core)
将默认引导内核改为我们刚安装的4.1.6版本
1 [root@iZ28yx1yevuZ linux-4.1.6]# grub2-set-default "CentOS Linux (4.1.6) 7 (Core)"
目前默认引导项是最新的内核了,这时候重启测试
1 root@iZ28yx1yevuZ linux-4.1.6]# grub2-editenv list
2 saved_entry=CentOS Linux (4.1.6) 7 (Core)
3 [root@iZ28yx1yevuZ linux-4.1.6]# reboot
默认选择的是4.1.6内核
12
正常启动后测试,内核已经是最新的版本了。
13

 

原文链接:https://yq.aliyun.com/articles/24157
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章