红联Linux门户
Linux帮助

CentOS 7.0升级Linux内核3.9及以上版本

发布时间:2016-11-02 09:23:30来源:linux网站作者:gtarcoder
之前一直使用CentOS 7系统进行开发,CentOS 7.0 系统自带的Linux内核版本为 linx 3.10,最近开发需要使用到socket的reuse port特性,该特性在Linux 3.9及以上才被支持,因此需要将系统升级到Linux的3.9及以上版本。
从网上查找了升级内核的教程,发现主要有两种:
 
一、使用 elrepo 的rpm包升级
查看当前系统内核版本 uname -r
1.导入key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2.安装 elrepo 的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
3.安装内核
在yum的elrepo源中,有最新版本内核。直接yum安装即可。
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
4.设置系统启动顺序
查看系统启动项:
cat /boot/grub2/grub.cfg |grep menuentry
可以发现有最新版本的内核,此时可以设置最新版本内核为默认启动:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此时,查看默认启动的系统版本grub2-editenv list:
显示为'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
5.reboot,重启之后再次查看 uname -r
 
二、使用源码编译安装升级
1.下载内核源码
下载网址为:https://www.kernel.org/
wget xxx
2.解压并进入源码目录
3.更新系统并安装依赖软件
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4.将当前内核配置文件拷贝到当前目录
本来是应该执行make menuconfig来自定义内核配置的,生成配置文件.config; 但是可以直接使用原来系统的内核配置,也就是拷贝/boot目录下的配置文件到当前目录。
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5.使用当前内核的配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6.编译安装
#make bzImage
#make modules
#make modules_install
#make install
7.设置系统启动顺序
查看系统启动项:
cat /boot/grub2/grub.cfg |grep menuentry
可以发现有最新版本的内核,此时可以设置最新版本内核为默认启动:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此时,查看默认启动的系统版本grub2-editenv list:
显示为'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8.reboot,重启之后再次查看 uname -r
 
本文永久更新地址:http://www.linuxdiyf.com/linux/25645.html