云服务器centOS编译升级Linux内核-Linux(1)
前言
- 本博文每一步均配有相应截图,并且是我亲自操作完成后,才写的博客,所以只要跟着做了,一定会跑成功。
由于Linux是完全开源的,所以很容易获得Linux的内核,也可以对内核新增一些特殊功能,做一个特殊的内核,本文不涉及内核编程,只是简单的升级一下云服务器内核。
步骤
先看一下我的腾讯云服务器的内核版本号
cat /proc/version
我的是
下载新内核
- 切换到根目录下
cd /
.
下载内核
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.16.tar.xz
直接下载有点慢,可以先下载到本地,然后上传至服务器,退出系统,上传
scp /Users/hulimin/Downloads/linux-4.16.tar.xz aaa@qq.com你的IP:/
要把路径和IP换成自己的。上传完成后,查看
解压
移动到 /usr/src
mv linux-4.16.tar.xz /usr/src/
解压
xz -d linux-4.16.tar.xz
这个过程大约需要2~3分钟吧,这个命令完成后不会有任何提示
继续解压
tar -xvf linux-4.16.tar
这个命令会生成很多零时文件,所以要确保空间足够,最后生成文件夹
配置内核
首先切换到生成的文件夹中
cd linux-4.16
运行命令:
make menuconfig
如果出现错误
make: *** No rule to make target menuconfig. Stop.
看这篇博文
https://blog.csdn.net/babybabyup/article/details/79775544错误
/bin/sh: bison: command not found
(我是出现了这个错误),则要装bison
yum install bison
- 如果不是第一次编译,则需要清除残留的
.config
和.o
文件
make mrproper
在次编译,直到出现这个界面
- 对每一个选项,都可以回答y,m或者是n,y表示将相应特性的支持或驱动程序编译进内核,m表示将相应特性的支持或驱动程序编译成可加载模块,在需要的时候,手动添加进内核中,n表示不提供相应特性或驱动程序的支持。
- 一般采用默认设置即可:选择
<save>
保存设置,然后退出。退出后
编译内核,生成启动印像文件
运行命令
make
- 出现错误
fatal error: openssl/opensslv.h: No such file or directory
是因为没有装openssl
yum install openssl-devel
错误
make: *** [vmlinux] Error 137
,是因为缺少swap分区引起的。
查看博文
https://blog.csdn.net/babybabyup/article/details/79815118错误解决后,重新
make
.
云服务器上编译内核很慢的,我大概用了90分钟。编译完成后
编译模块
运行命令
make modules
完成后
安装内核
- 安装模块
运行命令
make modules_install
等待运行结束
- 安装内核
运行命令
make install
等待完成
修改开机默认的内核
运行命令
cat /boot/grub2/grub.cfg | grep menuentry
设置成此内核CentOS Linux (4.16.0) 7 (Core)
grub2-set-default 'CentOS Linux (4.16.0) 7 (Core)'
重启
运行命令
reboot
重新连接后查看版本号
cat /proc/version
OK啦,内核成功升级!
在配置编译安装过程中出现任何问题欢迎留言,一起探讨
上一篇: 12、linux系统管理-进程
推荐阅读
-
Centos下编译Linux内核的具体实现方法
-
详解阿里云CentOS Linux服务器上用postfix搭建邮件服务器
-
Linux CentOS内核升级
-
阿里云ecs服务器Linux的centos搭建服务器记录
-
【阿里云ECS服务器Linux安装Redis】CentOS上Redis安装与配置
-
【NGINX】1、在Linux下安装nginx(以阿里云ECS CentOS7为例)
-
阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器
-
centOS7云服务器常用的linux命令分享
-
阿里云Linux-CentOS系统下-搭建Git服务器详解
-
阿里云Linux-CentOS系统下-搭建Git服务器详解