无论是好奇还是测试补丁,编译内核都有很多原因。 这是编译内核的简短教程 Fedora.
内核入门
这 Fedora 内核只是另一个包 Fedora. 这意味着如果你知道如何编译其他 Fedora 软件包,您在编译内核方面有了一个良好的开端。 编译内核最简单的方法是使用打包工具。
$ dnf install packager-tools
这将安装基本工具,例如
饲料包装袋
.
饲料包装袋
用于获取内核源代码。 我们用
饲料包装袋
克隆 Fedora 核心 包-git 在名为“内核”的目录中。 默认情况下,签出的源将用于 生皮. 每个 Fedora release 有自己的分支。 您可以使用 git 命令来更改分支。 为了 example检查来源 Fedora 24,我们将运行以下命令。
$ fedpkg co -a kernel $ cd kernel $ git checkout -b my_kernel origin/f24
这将创建一个名为
我的内核
包含来源 Fedora 24.
构建内核
内核有许多构建依赖项。 这些可以安装
$ dnf builddep kernel.spec
在构建用于测试的内核时,最好给它一个可识别的名称。 这使得它更容易与正式发布区分开来 Fedora 内核和其他已构建的。 有一个
%定义
在
内核规范
可以为此目的启用。
-# define buildid .local +%define buildid .my_kernel
这将为内核命名
我的内核
.
如前所述,内核只是另一个包。 标准
饲料包装袋
命令可用于构建。
$ fedpkg local
这将构建内核。 RPM 将在
包-git
x86_64 下的目录(或您正在构建的体系结构的名称)。 这将需要很长时间,并且需要多达 12GB 的磁盘空间。 如果您想要稍微快一点的构建体验,您可以使用
快速构建.sh
脚本。
$ fedpkg srpm Wrote /current/path/kernel-4.8.0-0.rc1.git1.1.my_kernel.fc26.src.rpm $ ./scripts/fast-build.sh x86_64 kernel-4.8.0-0.rc1.git1.1.my_kernel.fc26.src.rpm
这将只生成内核和模块。
为什么要重建内核?
重建内核的两个常见原因是更改配置选项和添加补丁。 可以将内核配置选项的更改添加到文件中
本地配置
. 添加补丁最简单的方法是使用脚本
新补丁.sh
.
$ ./scripts/newpatch.sh my-patch.patch
有关构建内核步骤的问题可以发送到 Fedora 内核邮件列表. 这 Fedora 内核维基 还有构建内核的参考说明。