Ubuntu – What’s the minimal compatible Linux kernel version required to run Ubuntu

compatibilitykernel

Why older kernel?

For whatever reason out there, you might be forced to run another kernel than the ones provided by Ubuntu. It may even take you back a few years for a kernel that is compatible with specific precompiled kernel modules, your Xen/container-based VPS provider may force you to use his kernel, etc.

I have this question for a long time, but this sparked it again today.

In such a case it would be very useful to be able to say whether you can blame the kernel for issues or whether you should even bother to try to set up a more recent version of Ubuntu in your situation.

Policy, documentation?

I'm particularly interested in what the objectives of the developers/QA are in this regarding LTS releases and newer stable running the LTS-kernel. Some closely related questions:

  • What is the policy on compatibility with earlier kernel versions? E.g. no bug reports accepted, must work with all kernel versions back to and including previous LTS, etc.
  • Example case, practically: How likely will I be in trouble when running Lucid's kernel on Precise?
  • To what extent is software relatively close to the kernel (udev, gvfs, mdadm etc.) being tested on other than the version provided with the release?
  • How does Desktop/Server edition differ in this?

The most obvious place to look at this would be the Release notes. However, besides updates/changes to the Ubuntu flavoured kernel, this doesn't mention anything about compatibility with other kernels, while kernel-related features are being mentioned in other parts of the notes, e.g.

Software RAID now supports bad block management (MD).

Is Ubuntu simply not bothering about these cases or am I missing a resource on this? Besides the release notes, I have used Google to quite some extent using keywords: Ubuntu 12.04 minimal kernel version required and several variants to it. Yet, no statement about it appears to be made on those results. I now find this question popping up as only relevant resource. I did find this answer, tough, and it looks very promising, yet it's about a specific issue/environment and not really about server/desktop usage.

Userspace vs kernel

I know most pieces of userland software should not bother about kernel versions, but it's getting more complicated for VPN software or applications interacting with hardware, like the one above, but also for example V4L2, Network Manager, Alsa, etc.

Debian vs Ubuntu

Debian is really clear on this. Already for Wheezy, we know that if you rely on udev, it will require 2.6.26 to run properly from it's release notes (in the works):

The udev version in wheezy requires a kernel of version 2.6.26 or newer with […]

What I'm not asking for

I am very well aware about the backports provided for newer kernels from newer releases to the current LTS version. This question is about the opposite.

Please avoid any discussion like "why would one want to run an older kernel?" – you just don't have a choice sometimes and it's not about what we want, but how one can deal with such a given situation.

Best Answer

QUESTION: What is the policy on compatibility with earlier kernel versions? E.g. no bug reports accepted, must work with all kernel versions back to and including previous LTS, etc.

I'm a member of the Ubuntu BugControl team and I can say that only bugs in non-obsolete Ubuntu packages are considered. If you install your own kernel or if you use a package from a different distribution and report a bug, your bug will be invalidated. See these two stock responses:

Also, the Ubuntu Kernel team has a FAQ that you might find interesting:

The Kernel Team provides support (security updates etc) for the Ubuntu kernels on all currently active releases, we do not support any non-Ubuntu kernels. A full list of the currently active releases can be found on the Releases page. For Long Term Support (LTS) releases the desktop kernels drop from support before the server kernels, this is reflected in the Releases page.

However this just says which kernels are supported, not which ones are considered compatible.

QUESTION: Example case, practically: How likely will I be in trouble when running Lucid's kernel on Precise?

This is a pretty difficult question to answer. Especially because it really depends on what applications/modules you will be using. We can restrict this question to the "standard" Ubuntu Desktop or Server, but even then it would be too difficult to answer: there is not enough documentation and the information available are sparse.

For example, to check whether udev from Quantal is compatible with the Lucid kernel you would have to see the M, N, O, P, Q release notes, kernel changelogs and udev changelogs. And then proceed to an another package, e.g. libc, upstart and so on. All these packages depend on specific kernel versions and all these packages are not controlled directly by Ubuntu (in the sense that it's not the Ubuntu Team that decides the compatibility policies of that packages).

QUESTION: To what extent is software relatively close to the kernel (udev, gvfs, mdadm etc.) being tested on other than the version provided with the release?

The Ubuntu Testing team and the Ubuntu Quality team do not test kernels not provided by Ubuntu. The proof is that there are no test cases nor test activities for obsolete kernels.

QUESTION: How does Desktop/Server edition differ in this?

They do not differ in any way. This is partially proven by the fact that both Desktop and Server edition use the same kernel.

QUESTION: Is Ubuntu simply not bothering about these cases or am I missing a resource on this?

Ubuntu is not bothering about these cases. Not supporting a kernel version, but being compatible with it would be just extra work with few benefits.

Whether one may like it or not, one of the Ubuntu practices is to look forward and try to support the most recent technologies, rather than the most outdated. You can find an example of this when the Ubuntu CD has been dropped in favor of the DVD, or when Unity 2d has been removed from Quantal.

Also, and this is the most important point in my opinion, Ubuntu is not interested in distributing software which works, but software which works and is supported. There are important differences between these two terms.