发布日期:2012-06-29 作者:专注于电脑系统 来源:http://www.08153.com
每个Fedora系统都运行着一个内核,很多代码片段组合在一起使之成为你们现在所用linux系统,每个Fedora内核都起始于一个来自于上游社区的基线版本——通常称之为 vanilla内核,上游内核便是标准。
(Fedora 的)目标是包含尽可能多的上游代码,这样使得 bug 修复和 Api 升级更加简单,同时也会有更多的人审查代码,在理想情况下,Fedora 能够直接获取 kernel.org 的内核,然后发送给所有用户。
现实情况是,使用 vanilla 内核并不能完全满足 Fedora,然而 Vanilla 内核可能并不支持一些 Fedora 用户但愿拥有的功能。用户接收的 [Fedora 内核] 是在 vanilla 内核之上打了许多补丁的内核。这些补丁被认为“不在树上out of tree”。很多这些位于补丁树之外的补丁都不会存在太久。如果某补丁能够修复一个问题,那么该补丁可能会被合并到 Fedora 树,以便用户能够更快地收到修复;当内核变基到一个新版本时,在新版本中的补丁都将被清除。
一些补丁会在 Fedora 内核树上存在很长时间。一个很好的例子是,安全启动补丁就属于这类补丁,这些补丁提供了 Fedora 但愿支持的功能,即使上游社区还没有接受它们。保持这些补丁升级是需要付出许多努力的,所以 Fedora 测试减少不被上游内核维护者接受的补丁数量。
通常来说,想要在 Fedora 内核中获得一个补丁的最好办法是先给 Linux 内核邮件列表(LKML) 发送补丁,然后请求将该补丁包含到 Fedora 中;如果某个维护者接受了补丁,就意味着 Fedora 内核树中将来很有可能会包含该补丁,一些来自于 GitHub 等地方的还没有提交给 LKML 的补丁是不可能进入内核树的,首先向 LKML 发送补丁是非常重要的,它能确保 Fedora 内核树中携带的补丁是功能正常的。如果没有社区审查,Fedora 最终携带的补丁将会充满 bug 并会导致问题。