在 Debian/Ubuntu 上构建自定义内核
Linux 内核是所有 Linux 系统的核心,包括数千个 GNU/Linux 发行版、Android 移动操作系统以及大量嵌入式系统、网络设备等。它的流行和普遍性可以归功于以下事实:免费且开源。任何人都可以下载 Linux 内核,根据需要对其进行更改,并编译它以供自己的商业或私人用途。
Linux 内核拥有近 3000 万行代码和来自世界各地的大量贡献者,听起来像是一个普通用户永远不会费心的复杂项目,对吧?您可能认为所有这些操作系统的核心应该留给科学家、程序员和 IT 专业人员。但实际上,下载 Linux 内核源代码并编译它非常简单,任何 Linux 用户都可以做到。
在本教程中,我们将引导 Debian 和 Ubuntu 用户逐步下载 Linux 内核源代码,安装允许我们编译它的必备包,最后使用我们自己的自定义选项编译内核。最后,您还将了解如何将内核安装到您自己的系统中,以便您的计算机可以运行您自己创建的内核。
在本教程中您将学习:
如何下载Linux内核源代码
如何安装编译内核所需的必备包
如何定制Linux内核
如何编译Linux内核
如何在自己的系统上安装Linux内核
构建自定义 Linux 内核分步说明
我们首先下载 Linux 内核源代码。导航至 kernel.org 下载您想要的版本。您很可能只想下载最新版本的 tarball。
在修改刚刚下载的文件之前,请打开命令行终端并安装以下必备软件包。有些很可能已经安装。
$ sudo apt update $ sudo apt install fakeroot build-essential libncurses-dev xz-utils libssl-dev flex libelf-dev bison
接下来,提取 Linux 内核 tarball。
$ tar xvf linux-5.18.tar.xz $ cd linux-5.18
将上面的文件名替换为您自己下载的文件名。
这是我们可以开始定制事物的地方。接下来的步骤只是建议,但请随意进行您认为合适的配置。首先,我们将复制系统当前的内核配置文件并将其用于新内核。
$ cp /boot/config-$(uname -r) .config
下面的 make 命令允许我们编辑刚刚复制的配置文件并选择要包含在编译的 Linux 内核中的功能。在这里进行您想要的更改。完成后,您可以保存并退出该菜单。请注意,如果您只想坚持当前系统的设置,则根本不需要进行任何更改。
$ make menuconfig
接下来,是时候使用以下命令构建 Linux 内核了。您将在终端中看到大量输出,并且编译过程可能需要一段时间。前两个命令对证书进行了必要的更改,以便我们进行编译。
$ scripts/config --disable SYSTEM_TRUSTED_KEYS $ scripts/config --disable SYSTEM_REVOCATION_KEYS $ sudo make
完成后,我们可以使用以下命令安装必要的内核模块。
$ sudo make modules_install
然后,要将内核安装到您自己的系统上,请使用以下命令完成:
$ sudo make install
最后,重新启动系统以加载到刚刚编译和安装的新内核中。
$ reboot
重新启动后,您应该看到您的系统正在使用刚刚编译的新内核。您可以使用
uname
命令验证这一点,并查看版本号是否匹配。$ uname -r
结束语
在本教程中,我们了解了如何在基于 Debian 或 Ubuntu 的系统上从源代码下载和编译 Linux 内核。您还了解了如何根据自己的需要配置 Linux 内核,以及如何在自己的系统上安装内核。通过这些步骤,您始终可以在计算机上下载并安装最新的内核。您还可以根据需要尝试添加或删除功能。