运行 Ubuntu 所需的最低兼容 Linux 内核版本是多少?

运行 Ubuntu 所需的最低兼容 Linux 内核版本是多少?

为什么是旧内核?

无论出于什么原因,你都可能强制运行 Ubuntu 提供的内核以外的其他内核。甚至可能需要几年才能获得与特定预编译内核模块兼容的内核,您的 Xen/基于容器的 VPS 提供商可能会强迫您使用他的内核,等等。

我有这个问题很久了,但是今天又引发了它。

在这种情况下,能够说出是否可以将问题归咎于内核或者是否应该尝试在您的情况下设置更新版本的 Ubuntu 会非常有用。

政策、文件?

我特别感兴趣的是,开发人员/QA 的目标是什么,包括 LTS 版本和运行 LTS 内核的较新的稳定版本。以下是一些密切相关的问题:

  • 是什么政策与早期内核版本的兼容性如何?例如,不接受任何错误报告,必须与所有内核版本兼容,包括以前的 LTS 版本等。
  • 实际示例:在 Precise 上运行 Lucid 内核时我遇到麻烦的可能性有多大?
  • 除了发行版提供的版本之外,与内核比较接近的软件(udev、gvfs、mdadm 等)在多大程度上进行了测试?
  • 桌面版/服务器版在这方面有何不同?

最明显的地方是发行说明。但是,除了对 Ubuntu 风格内核的更新/更改之外,这里没有提到与其他内核的兼容性,而内核相关的功能在说明的其他部分中被提及,例如

软件 RAID 现在支持坏块管理 (MD)。

Ubuntu 根本就不在乎这些情况,还是我错过了这方面的资源?除了发行说明之外,我还使用 Google 相当多的关键字:Ubuntu 12.04 minimal kernel version required及其几种变体。然而,这些结果似乎没有对此作出任何声明。我现在发现这个问题作为唯一相关的资源出现。我确实找到了这个答案,很难,而且看起来很有前景,但它涉及一个特定的问题/环境,而不是真正涉及服务器/桌面的使用。

用户空间与内核

我知道大多数用户空间软件不应该关心内核版本,但对于 VPN 软件或与硬件交互的应用程序来说,情况变得越来越复杂,比如上面的那个,还有例如 V4L2、网络管理器、Alsa 等。

Debian 与 Ubuntu

Debian 对此非常清楚。对于 Wheezy,我们已经知道,如果你依赖 udev,它将需要 2.6.26 才能正常运行发行说明(正在进行中):

wheezy 中的 udev 版本需要 2.6.26 或更新版本的内核,并且 [...]

我没有要求什么

我非常清楚从较新版本到当前 LTS 版本为较新内核提供的反向移植。这个问题恰恰相反。

请避免任何诸如“为什么有人想要运行旧内核?”之类的讨论——有时你别无选择,这不是关于我们想要什么,而是如何处理这种特定情况。

答案1

问题:与早期内核版本的兼容性政策是什么?例如,不接受任何错误报告,必须与所有内核版本兼容,包括以前的 LTS 版本等。

我是 Ubuntu BugControl 团队的成员,我可以说,我们只会考虑非过时的 Ubuntu 软件包中的错误。如果您安装自己的内核或使用其他发行版的软件包并报告错误,您的错误将被视为无效。请参阅以下两个常用回复:

此外,Ubuntu 内核团队还常见问题解答你可能会感兴趣:

内核团队为所有当前有效版本的 Ubuntu 内核提供支持(安全更新等),我们不支持任何非 Ubuntu 内核。当前有效版本的完整列表可在版本页面上找到。对于长期支持 (LTS) 版本,桌面内核在服务器内核之前不再受支持,这反映在版本页面上。

然而这只是说哪些内核是支持的,而不是哪些是被认为是兼容的

问题:实际示例:在 Precise 上运行 Lucid 内核时我遇到麻烦的可能性有多大?

这是一个很难回答的问题。特别是因为它真的取决于您将使用的应用程序/模块。我们可以将这个问题限制在“标准”Ubuntu 桌面或服务器上,但即使这样也很难回答:没有足够的文档,可用的信息也很少。

例如,要检查 Quantal 的 udev 是否​​与 Lucid 内核兼容,您必须查看 M、N、O、P、Q 发行说明、内核更改日志和 udev 更改日志。然后继续查看另一个软件包,例如 libc、upstart 等。所有这些软件包都依赖于特定的内核版本,并且所有这些软件包都不受 Ubuntu 直接控制(也就是说,这些软件包的兼容性策略不是由 Ubuntu 团队决定的)。

问题:除了发行版提供的版本之外,与内核比较接近的软件(udev、gvfs、mdadm 等)在多大程度上进行了测试?

Ubuntu 测试团队和 Ubuntu 质量团队不会测试非 Ubuntu 提供的内核。证据就是没有针对过时内核的测试用例或测试活动。

问题:桌面版/服务器版在这方面有何不同?

它们没有任何区别。桌面版和服务器版都使用相同的内核,这部分证明了这一点。

问题:是 Ubuntu 根本不关心这些情况还是我错过了这方面的资源?

Ubuntu 并不关心这些情况。不支持某个内核版本,但与之兼容只是额外的工作,几乎没有好处。

无论你是否喜欢,Ubuntu 的实践之一就是展望未来并尝试支持最新的技术,而不是最过时的技术。当 Ubuntu CD 被 DVD 取代,或者 Unity 2d 从 Quantal 中移除时,你都可以找到这样的例子。

此外,我认为这是最重要的一点,Ubuntu 对分发软件不感兴趣,作品,但软件工作正常并得到支持。这两个术语之间存在着重要的区别。

答案2

唯一官方支持的内核是随 Ubuntu 版本一起提供的内核。如果您因使用其他内核而遇到问题,则需要自行解决。如果怀疑问题与使用非标准内核有关,则需要您至少测试标准内核以查看是否确实存在相关问题。

使用旧内核可能会导致太多潜在问题,因此无法获得有关哪些可行、哪些不可行的详细信息;您必须亲自尝试。

答案3

根据我的猜测,我认为任何 Ubuntu 版本都不会考虑使用旧内核。...为什么要考虑呢?“必需内核”只是版本附带的内核。

为什么人们想在新版本上使用旧内核,而不是旧版本本身?

据我所知,内核团队着眼于未来,而不是回顾过去。他们从较新的版本反向移植较新的内核,例如,Quantal 内核被反向移植到 Precise,但反之则不然。

相关内容