【linux编译内核】

标题【linux内核编译】

作为自由软件,Linux内核版本不断更新,新内核会修订旧内核的bug,并增加若干新特性,如支持更多的硬件、具备更好的系统管理能力、运行速度更快、更稳定等。用户若想使用这些新特性,或希望根据自身系统需求定制一个更高效、更稳定的内核,就需要重新编译内核。

(在编译内核的时候,老师提示我们不要选择版本跨度太大的内核,虽然但是,孩子天生反骨铮铮,我还是从4.19.208的版本编译到了5.4.1的版本,目前没有遇到什么问题。不过还是在此做个提醒,若日后遇到相关问题,会在此补充。)

读者也可以前往Linux官方网站(https:www.kernel.org)自行下载需要的内核版本。

1、首先进入Linux终端,查看当前内核版本(uname -r)。
在这里插入图片描述
2、wget命令获取新内核压缩包并解压

wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.4.1.tar.gz
tar -xvf linux-5.4.1.tar.gz

【linux编译内核】_第1张图片
3、清除残留的.config和.o文件(如果是第一次编译内核可忽略此步骤)

cd linux-5.4.1  //进入新内核目录(整个编译内核的过程始终在新内核目录下进行)
sudo make mrproper  //以后每次编译内核都需要先进行清除操作,sudo开启管理员权限
sudo make clean
sudo make menuconfig  	//配置内核,这一步可能会遇到fatal error:curse.h:No such file or directory 的提示信息,说明缺少套件ncurse devel,执行yum install ncurses-devel即可(类似的,缺什么包下载什么包就好了)

【linux编译内核】_第2张图片
当所有必须的工具都已齐全时(或者你已经下载好缺的包了)
执行完上一步的sudo make menuconfig ,就会出现如下界面
【linux编译内核】_第3张图片
然后点击电脑上的右键->选择save,一路保存并退出,最后再选择exit即可。
5、编译内核

sudo make -j8	//-jn 取决于操作系统配置时有多少内核,我的虚拟机配了4个内核,可以开8线程。在虚拟机中的Linux编译内核大概要1.5h(前提是开了8线程),华为云上编译内核大概要10-20分钟。虽然华为云平台编译内核特别快,但是毕竟华为云账号要付费,过了代金券这段时间再想使用就得自己掏腰包啦,虚拟机上配置好了就永远是你的东西,所以我还是坚持在虚拟机上进行操作了,如果赶时间做完实验,还是建议华为云平台,真的超级快!
//在make -j8 这一步也可能会出现一系列报错,例如:fatal error:openssl/opensslv.h:No such file or directory 不要慌,这说明系统缺少openssl系列包,缺什么配置什么就好了。执行yum install linssl-dev即可,类似地,缺少bison,执行 yum install bison。安装好之后接着执行 sudo make -j8就好(linux终端可以通过键盘上的上箭头复现上一条命令,按回车就能继续执行了)

内核编译完毕后的结果如下:
【linux编译内核】_第4张图片
接着编译模块

sudo make modules 	//虚拟机大概40分钟

下图为模块编译完毕的结果图
【linux编译内核】_第5张图片

安装内核

sudo make modules_install		//安装模块
sudo makae install		//最后一步 make install报错可以不处理,没有什么影响

下图为安装模块完毕的结
【linux编译内核】_第6张图片
6、重启

reboot

7、编译完成后,再次进入操作系统会出现新的内核版本,尽快通过键盘上的上下箭头切换到新的内核中,登录进去,查看当前内核版本。
在这里插入图片描述

你可能感兴趣的:(linux)