如何从源代码编译Linux内核?

嗨,今天我们要编译Linux内核。您可以认为编译内核对您来说是非常复杂和困难的。但事实并非如此。它比许多其他项目更容易编译。因为Linux内核不依赖于库或其他工具。它只需要用于模块配置的ncurses开发库。

null

下载Linux内核 图片[1]-如何从源代码编译Linux内核?-yiteyi-C++库 源代码

Linux内核是一个开源项目,任何人都可以免费使用。Linux内核源代码由 http://www.kernel.org . 首先我们将下载最新的主线内核源代码。

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.4.tar.xz
Download Linux Kernel Source Code
下载Linux内核 源代码

提取Linux内核

然后减压。像xz,gz这样的文件后缀并不重要,它们只是不同的压缩算法,所有的成分都是一样的

$ tar xvf linux-3.16-rc4.tar.xz

输入解压缩目录

$ cd linux-3.16-rc4/

再进行

运行内核的模块配置菜单。这里您需要C语言的ncurses-devel库。

Ubuntu、Debian、Mint、Kali

$ sudo apt install bison libncurses-dev flex

软呢帽、CentOS、RedHat

$ sudo yum install ncurses-devel.x86_64 bison flex

内核生成配置

我们将使用以下命令运行内核配置工具。

$ make menuconfig

您可以从这里配置文件系统模块。如果有空间限制,则可以删除不需要的文件系统模块或添加所需的文件系统模块

Kernel Build Configuration
内核生成配置

以下是驱动程序模块。如上所述,您可以删除不需要的模块或添加所需的驱动程序。

Kernel Driver
内核驱动程序

可以使用此菜单配置虚拟化模块。假设你有AMD的CPU,你不必编译英特尔驱动程序。

相关文章: Bash命令基础

Kernel Virtualization
内核虚拟化

应用所有设置后,您可以保存它们并退出

Save Kernel Compile Configuration
保存内核编译配置
Kernel Config
内核配置

提供帮助

现在我们准备编译这个过程。有很多编译选项,但我将向您展示其中的一些。如果你想让他们都跑的话 提供帮助

$ make help
Make Help
提供帮助

将Linux内核编译为ISO映像

我们可以用 isoimage 选项,使ISO文件启动内核。这个ISO也可以刻录成CD。

$ make -j8 isoimage

编译后,您可以在 arch/x86/boot/image.iso文件

将Linux编译为二进制文件

Linux内核可以用 make 命令。通过提供 -j8 汇编将以多种方式进行。

$ make -j8
Compile Linux As Binary
将Linux编译为二进制文件

安装Linux内核

我们可以像下面这样安装编译过的Linux内核。这将更改Linux发行版的当前内核,并在下次使用此内核引导时进行引导。

$ make install

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享