Ubuntu附带的内核和上游内核之间有什么区别?


31

主Linux内核与Ubuntu使用的内核之间的功能集有何区别?为什么Ubuntu从主内核分支出来而不是直接使用主内核?

Answers:


18

上游内核(在我们提供它们时称为主线内核)只是指定版本的上游内核,并添加了很少的配置更改,因此在Ubuntu安装中使用它们的问题很少。

这些内核与针对Ubuntu版本发布的内核之间的区别是其他许多配置更改,源补丁*,在某些情况下还包含在模块和硬件支持中。

除了上面提到的以外,很少有底层代码与上游代码有所不同。

*:在大多数情况下,源补丁是对内核默认行为的更改。这些不限于:黑名单,视频怪异表,内置模块,Linus树中尚未出现的源更改或稳定队列中尚未出现的更改等。

团队使用源补丁来引入配置选项,这些配置选项支持特定版本的Ubuntu发行的大量软件。在许多情况下,它们对于使这些应用程序正常运行是必需的。该内核与上游内核之间的根本区别在于,纯上游内核不是特定于发行版的。

因此,配置不适合确保某些应用程序按预期工作。这些配置的存在是为了为内核提供特定级别的可更改性。此外,使用怪癖可以使我们从需要识别内核的硬件中识别出需要特定事物的硬件,一旦检测到这些硬件,便可以对其进行设置。

这是Linux的主要功能之一,也是多年来我们能够在众多平台上运行的原因之一。有时,古怪的补丁和源补丁会导致彼此之间出现问题。在这段时间里,我们努力缓解底层内核行为更改带来的问题。在许多情况下,直到发布后,这些更改才在上游发布,这在很大程度上是由于需要正确编写补丁,记录所做的工作,测试更改以及进行各种其他测试和压力测试。

在这些情况下,前往上游的补丁将作为源补丁携带,其方式与预稳定和尚未在Linus的树中的补丁一样。指向delta审查规范的链接应作为Ubuntu内核的当前Natty版本所审查内容的参考。


1
是否有关于酱补丁的更多详细信息,以及为什么需要对Ubuntu内核进行一些配置更改?
安德鲁·斯特恩

安德鲁,是的,我正在研究一些解释性文字,以补充上面的内容,希望可以更详细地弄清哪些酱块。:-)
杰里米·弗谢

2

Linux内核正在不断发展。在打包其下一个发行版时,Ubuntu团队有时会说:“好吧,我们将采用现在的内核。”有时您可能会在回购中使用一个新的内核,以便在当前的分布。

这个地方可以带来一些有趣的阅读,但是它可以是非常技术性的。您也许可以弄清上游正在做些什么,以及您目前错过了什么(但最终会得到)。

应该注意的是,就像任何软件一样,内核容易出错,并且经常发生回归(添加的新内容破坏了旧功能)。如今,内核恕我直言,在新功能方面并没有真正让我兴奋。例如,我很高兴地运行了一个已经使用了两年的内核。


4
虽然这都是真的,但我认为您还没有完全理解这个问题。我认为提问者想知道Ubuntu适用于内核的补丁。
8128

0

您可以下载Ubuntu的git树,并使用图形查看器查看git树。这将向您显示Ubuntu的所有补丁。 https://wiki.ubuntu.com/Kernel/Dev/KernelGitGuide

另一个可能的选择是,订阅ubuntu-kernel邮件列表。他们的所有工作都张贴在这里,您可以了解他们的工作。但是,这是高流量,恕我直言,令人讨厌。(但是,这是他们的清单)


2
好吧,该清单更适合于公开讨论建议的补丁程序。可能没有一个地方可以使您清楚地了解我们的工作。我为此推荐FreeNode IRC频道#ubuntu-kernel。
Jeremy Foshee
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.