http://www.kernel.org内核官网下载 4.12-RC5内核包
wgethttps://git.kernel.org/torvalds/t/linux-4.12-rc5.tar.gz –no-check-certificate
这里使用 Xshell 通过 ssh 连接虚拟机。官网是 https 协议传输,使用 wget 下载时容易报错,在最后加 –no-check-certificate 参数即可解决。
使用 tar –xvf 解压到本地
安装系统时选择的是最小安装法,导致还会有一些基本的工具没装,这里使用
yum grouplist 去检测程序所有安装包情况
这里使用yum groupinstall Development tools 安装开发工具,这是一个包含众多小工具例如:binutils、bison、flex、gcc、gcc-c++、gettext、libtool 等等,以避免后面对内核进行编译时出现错误。这是已经安装后的。
yum install hmaccalc zlib-develbinutils-devel elfutils-libelf-devel
来安装其它依赖工具,我这是已经安装过后。如果提示要安装,安装即可。
开始准备编译内核
make mrproper 删除不必要的文件和目录。
把旧版本内核的配置文件复制并命名为.config,这样新编译内核就会使用原来的配置文件
make bzImage 开始编译,一路回车
解决报错:
yum install openssl
yum install openssl-devel
make 编译,需要较长时间
make modules 文件编码模块,也需要等待较长一段时间
make modules_install 安装模块
make install
我们知道,centos 6.x 是通过/etc/grub.conf 就行内核启动顺序修改的,而且比较直观查看。但 centos 7 的系统和 6 就不一样了,是通过 grub2 为引导程序。下边简单说下 centos 7 的内核启动顺序如何修改。
1,首先查看当前系统有几个内核。比如:
cat /boot/grub2/grub.cfg |grep menuentry
2,设置默认的启动内核,选择 CentOS Linux (4.12.0-rc5)7 (Core)这个内核为默认启动。
grub2-set-default “CentOS Linux (3.10.0-327.el7.x86_64)7 (Core)
验证是否修改成功:grub2-editenv list
3,重启机器观察。
重启成功以后查看下机器的内核是不是该内核:
在虚拟机启动的时候出现多个内核引导项,选第一个进入系统
进入系统后查看内核版本,成功升级成 4.12