良许Linux教程网 干货合集 如何编译Linux内核

如何编译Linux内核

看这张图片就知道,我们本文的内容就是教大家如何编译 Linux 内核。Linux 作为一个开源的操作系统,受很多用户和企业的青睐,并且用户可以自己进行修改内核,从而实现增加系统的调用,也可以帮助我们更深入的理解操作系统内核的实质。编译内核其实算是比较麻烦的,这个过程比较复杂,有比较耗费时间,如果中间环节出现问题就需要重新开始,很麻烦。因此决定出一个关于编译内核的文章给大家参考,帮助大家更快掌握。

很早的时候,在升级 Linux 内核这块让很多用户都比较恐慌吧,因为升级内核很麻烦,花费的时间和精力也很大。而现在安装内核也可以通过 apt 这样的方式来进行。编译内核现在已经变得比之前容易很多,而且懂得编译内核也是比较重要和有用的,所以就让我们通过实验来体验一下内核编译的过程。

环境:Ubuntu 16.04 Server。在执行 sudo apt upgrade 这个指令之后,可以知道当前系统安装的内核版本为 4.4.0-121,本文的目标是升级内核版本到 4.17,那么下面就让我们开始实验吧。

下载内核

这里首先需要做的第一件事情就是下载内核源码,既然要编译内核,没有源码怎么编译呢。可以在 kernel.org 里面进行下载需要的内核,找到之后,使用 wget 命令进行下载:

wget https://git.kernel.org/torvalds/t/linux-4.17-rc2.tar.gz

这里需要注意的是,首先我们编译内核,需要先安装一些编译所需要的环境,同样也可以通过命令来完成,还需要注意的是编译内核需要保证系统的空间足够:

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

解压源码

上一步中我们已经下载了所需要的内核文件,那么现在来进行解压操作:

tar xvzf linux-4.17-rc2.tar.gz
cd linux-4.17-rc2

配置内核

在正式开始编译内核前,我们需要确认的一个问题是要考虑配置都包含哪些模块。其实这里也有一个简单的方式来搞定,如下:

cp /boot/config-$(uname -r) .config

现在我们已经有了配置文件了,接下来需要输入 make menuconfig 。这个命令会打开一个配置工具的界面,它的作用就是让你遍历每一个可用的模块,并且你可以选择禁用或者启用哪些你不需要或者需要的模块。

这里如果你已经遍历好了整个配置的列表,那么下一步就是准备开始进行编译了。

编译内核

到这里,我们就可以进行实际的内核编译了。这里使用 make 命令进行编译操作。

make

make 命令执行完之后,下一步就是需要使用命令安装之前那些启用的模块:

make modules_install

这个命令的执行时间要比 make 的时间长很多,所以我们需要等待比较久,之后这个命令输出完毕,就可以执行安装内核的命令:

sudo make install

同样的,这块也会耗费我们较多的时间,其实这里 make install 会比上一步执行 make modules_install 这个命令花费的时间更多。在漫长的等待过程中,一旦 make install 命令执行完成,那么就可以将内核启用来作为引导,可以使用这个命令实现:

sudo update-initramfs -c -k 4.17-rc2

这里的版本号提醒大家记得替换为刚才编译完成的内核版本号,当上述命令执行完毕后,可以使用这个命令来更新 grub:

sudo update-grub

到这里,已经可以重启当前的系统并且选择新编译的内核进行使用了。编译内核是一项很耗费时间的事情,虽然有时候花费很多还不一定能够编译成功,但还是建议大家如果有兴趣都可以去尝试下,这也是一项很重要的技能。

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部