0

I'm used to installing newest kernels on my machine.

I always keep an eye on the latest release from this site and now it says that the latest v4.2 is stable. After that I'm used to downloading the kernel I choose from this site where now I can see that from v4.1 all versions are unstable.

So I'd like to know which one is telling the truth.

Thanks

2
  • 1
    See kernel.org/category/releases.html and wiki.ubuntu.com/Kernel/MainlineBuilds . If you have a specific question rephrase what you are asking. – Panther Sep 1 '15 at 20:48
  • I think you are confused with the information from "this" site, kernel.org. The most recent stable release , as of today, is 4.1.6 . 4.2 is listed as "mainline" , not stable. mainline kernels are more likely then the stable kernel to have bugs. – Panther Sep 2 '15 at 16:15
3

They are both telling the truth. Having gone through 8 Release Candidates, the kernel.org version of 4.2 is considered stable. In about two weeks you will observe kernel 4.3 RC1 there, and the process continues.

Now, consider Ubuntu. Ultimately, the Ubuntu version, will have several changes additions and deletions that are not included in the mainline releases linked to. There are also patches applied to to the mainline for the debian packaging and changelog stuff in addition to kernel configuration settings. There simply must be a delay between the kernel.org version being declared stable and the actual Ubuntu version being created, tested on multiple and varied Ubuntu environments, and initially released. From the Ubuntu perspective the mainline PPA would never be considered "stable".

Edit bodhi.zazen

To some extent the confusion is coming from the terminology used by kernel.org and Debian/Ubuntu, specifically the terms unstable/testing/stable.

From https://www.kernel.org/category/releases.html

The terms used are:

Prepatch

Prepatch or "RC" kernels are mainline kernel pre-releases that are mostly aimed at other kernel developers and Linux enthusiasts. They must be compiled from source and usually contain new features that must be tested before they can be put into a stable release. Prepatch kernels are maintained and released by Linus Torvalds.

Mainline

Mainline tree is maintained by Linus Torvalds. It's the tree where all new features are introduced and where all the exciting new development happens. New mainline kernels are released every 2-3 months.

Stable After each mainline kernel is released, it is considered "stable." Any bug fixes for a stable kernel are backported from the mainline tree and applied by a designated stable kernel maintainer. There are usually only a few bugfix kernel releases until next mainline kernel becomes available -- unless it is designated a "longterm maintenance kernel." Stable kernel updates are released on as-needed basis, usually 2-3 a month.

Longterm There are usually several "longterm maintenance" kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don't usually see very frequent releases, especially for older trees.

Distribution kernels

Many Linux distributions provide their own "longterm maintenance" kernels that may or may not be based on those maintained by kernel developers. These kernel releases are not hosted at kernel.org and kernel developers can provide no support for them.

Debian takes code from upstream (kernel.org in this case) and packages it. See https://www.debian.org/doc/manuals/debian-faq/ch-choosing.en.html

Unstable has the most recent (latest) versions. But the packages in unstable are not well tested and might have bugs.

On the other hand, stable contains old versions of packages. But this package is well tested and is less likely to have any bugs.

The packages in testing fall between these two extremes.

And then there is the Ubuntu kernel team's ppa, https://wiki.ubuntu.com/Kernel/MainlineBuilds

This last ppa provides the "mainline" , precompiled, for testing purposes.

So, when choosing what kernel to run you can:

  1. Obtain the source code from kernel.org, apply any patches you wish, and compile it yourself. You can choose:

Mainline - This kernel is the latest and most likely to have bugs. Prepatch - This kernel is "pre-release" , or in the development cycle one goes Latest (unstable) -> Alpha -> Beta -> Release Candidate/Pre-release -> Stable release (terms vary with project).

Stable - Released code, less likely to have bugs, good for general use.

Long term - Very stable, at the sacrifice of new features.

or 2. Use a "distribution kernel"

Debian / Ubuntu then takes the source code from kernel.org , and applies patches, so the cycle repeats in what kernel.org would term a "distribution kernel".

The Debian/Ubuntu distribution kernel goes through a similar cycle Unstable -> testing -> stable

The kernel used by various versions of Ubuntu is listed here - https://en.wikipedia.org/wiki/List_of_Ubuntu_releases#Table_of_versions

So, at the time of release, Ubuntu is pulling from the "stable" upstream source code (15.10 is using kernel version 4.1).

At the time of this post, kernel 4.2 is the mainstream kernel, and thus not available in the Ubuntu repositories.

You can either compile the mainstream kernel yourself (I prefer this method) or install it from the ppa - http://kernel.ubuntu.com/~kernel-ppa/mainline/

These kernels are provided as is, as a convenient way for you to try the mainline kernel without having to compile it for yourself. It is unsupported and to some extent expected to have bugs.

They list the current mainstream kernel, 4.2, as unstable according to Debian policy (unstable -> testing -> stable)

As the other kernels listed there have undergone appropriate testing and patches they are eventually re-labeled as "stable"

4
  • 1
    The ubuntu mainline kernel does not directly test any changes or patches to the kernel - " it is handy to be able to test with unmodified upstream kernels to help locate problems in the Ubuntu kernel patches, or to confirm that upstream has fixed a specific issue. To this end we now offer select upstream kernel builds. These kernels are made from unmodified kernel source but using the Ubuntu kernel configuration files." The ubuntu configuration file is NOT the same as ubuntu patches.What you say is true for the kernel in the ubuntu repositories but not the (mainline) ppa the OP linked. – Panther Sep 1 '15 at 22:28
  • @bodhi.zazen: Thanks. I'll think about how to edit my answer. I believe the point remains valid as even adding the debian and config patches only are massive, and need to be tested. I am aware of at least two occasions where just Ubuntu config changes broke the kernel for some users. Here and here. – Doug Smythies Sep 1 '15 at 23:34
  • The ubuntu mainline ppa is nothing more then a .deb with a pre-compiled kernel using the default ubuntu .config file. The kernel source code is unpatched. It is provided as is, unsupported, designed for kernel testing only. It can not really be used to test the debian or ubuntu kernel patches as you would need to start with the source code, rather the the pre-compiled kernel, to do that. – Panther Sep 1 '15 at 23:55
  • Agreed. Does my answer now not reflect your concerns adequately? – Doug Smythies Sep 1 '15 at 23:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.