曾经有一段时间,Linux内核的升级让很多用户感到害怕。当时升级内核涉及很多步骤,花费了大量时间。如今,可以通过 apt 等包管理器轻松处理内核安装。通过添加特定的存储库,您可以轻松安装实验版本或特定版本的内核(例如音频产品的实时内核)。
想一想,既然升级内核这么容易,为什么不想自己编译一个呢?以下是一些可能的原因:
无论出于什么原因,了解如何编译内核都是非常有用的,并且可以被视为一种通行权。当我第一次编译一个新的 Linux 内核(那是很久以前的事了),然后尝试从它启动时,我从中得到了某种兴奋(系统立即崩溃了,然后不断尝试并失败)。
既然如此,我们就来实验一下编译内核的过程。我将使用16.04进行演示。运行常规 sudo apt 后,当前安装的内核版本为 4.4.0-121。我想升级内核版本到4.17,咱们小心点开始吧。
需要注意的是:强烈建议您在虚拟机中试验此过程。基于虚拟机,您始终可以创建快照并轻松从任何问题中回滚。除非您知道自己在做什么,否则不要在生产计算机上以这种方式升级内核。
下载内核
我们需要做的第一件事是下载内核源代码。找到您想要下载的所需内核的 URL。找到URL后,使用以下命令(我以4.17 RC2内核为例)下载源代码文件:
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
需要注意的是,您至少需要 12 GB 的本地可用磁盘空间才能完成内核编译过程。所以你必须确保你有足够的空间。
解压源码
在新下载的内核所在文件夹中,使用以下命令解压内核:
tar xvzf linux-4.17-rc2.tar.gz
使用命令cd linux-4.17-rc2进入新生成的文件夹。
配置内核
在正式编译内核之前,我们首先要配置需要包含哪些模块。实际上,有一些非常简单的方法来配置它。使用单个命令,您可以复制当前内核的配置文件,然后使用可靠的命令进行任何必要的更改。使用以下命令完成:
cp /boot/config-$(uname -r) .config
现在您已经有了配置文件,请输入命令 make。此命令将打开一个配置工具(图 1),允许您迭代每个可用模块并启用或禁用您需要或不需要的模块。
![](/data//album//22/rk.jpg "")
图 1:make 的实际应用
您很有可能会禁用内核的重要部分,因此请小心一步步进行。如果您不确定某个选项,请不要理会它。或者更好的是,使用当前运行的内核的配置文件的副本(因为我们知道它可以工作)。一旦您浏览完整个配置列表(相当长),您就可以开始编译了。
编译安装
现在是时候实际编译内核了。第一步是使用 make 命令进行编译。调用 make 命令并回答必要的问题(图 2)。这些问题取决于您正在升级的现有内核和升级后的内核。相信我,会有很多问题需要回答,所以你必须留出很多时间。
![make](/data//album//22/6t.jpg "make")
图 2:回答有关 make 命令的问题
回答一长串问题后,您可以使用以下命令安装之前启用的模块:
make modules_install
同样,此命令将花费一些时间,因此要么坐下来观看编译输出,要么执行其他操作(因为在编译期间不需要您输入)。很可能,您想从事其他事情(除非您真的喜欢在终端上观看输出的舞蹈)。
现在我们使用这个命令来安装内核:
sudo make install
再次,另一个命令将花费相当长的时间。事实上,make命令会比make命令花费更多的时间。去吃午饭,配置路由器,在一些服务器上安装 Linux,或者小睡一会儿。
启用内核作为引导
一旦 make 命令完成,就可以启用内核作为引导。使用该命令可以实现:
sudo update-initramfs -c -k 4.17-rc2
当然,你需要将上面的内核版本号替换为你编译的版本号。该命令执行后,使用以下命令更新grub:
sudo update-grub
现在您可以重新启动系统并选择新安装的内核。
恭喜!
您已经编译了 Linux 内核!这是一项耗时的活动;然而,最终您的 Linux 发行版将拥有一个自定义内核,您将获得一项许多 Linux 管理员往往忽视的重要技能。
通过 Linux 基金会和 edX 提供的免费“to Linux”课程了解有关 Linux 的更多信息。
通过:
作者:Jack 选题:译者:校对:wxy
本文由 LCTT 原创编译,Linux China 自豪推出
扫一扫在手机端查看
-
Tags : 内核配置编译的步骤_如何编译 Linux 内核
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。