Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place! |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
01-03-2017, 10:50 AM
|
#1
|
LQ Newbie
Registered: Jun 2012
Posts: 6
Rep:
|
Need help understanding Kernel releases and their relationship with different distros
How many kernel versions are out there? Where can I find information about each kernel release?
Here’s what I am trying to understand. A distro like Ubuntu, for example, is based on Debian. My Ubuntu install currently has kernel release 4.4. Does this mean that all Distros based on Debian like Linux Mint will also be at kernel release 4.4? If so, how come the new version of Kali Linux, which is also based on Debian, has kernel release 4.8 and Ubuntu 4.4? CentOS kernel release is 3.10. Does this mean that CentOS kernel is old and should be at 4.x?
Thanks.
Last edited by atkol29a; 01-03-2017 at 10:52 AM.
Reason: typo in title
|
|
|
01-03-2017, 11:00 AM
|
#2
|
LQ Guru
Registered: Nov 2008
Location: Pictland
Distribution: Linux Mint 21 MATE
Posts: 8,048
|
Each distro, no matter which distro it is in turn based on, if any, decides which kernel(s) will be part of its release and which distros will be available in its repos and/or recommended through time (i.e. which kernels it will support). This doesn't however prevent you from installing any kernel you wish.
Have a look at https://www.kernel.org/ for the list of kernel releases and info on each release.
|
|
|
01-03-2017, 11:14 AM
|
#3
|
LQ Veteran
Registered: Jul 2006
Location: London
Distribution: PCLinuxOS, Salix
Posts: 6,174
|
This articles is a good starting point:
http://en.wikipedia.org/wiki/Linux_kernel
As you can see, support is available for every version from 2.6 onwards! This is done on a long-term-support model: bug fixes and security enhancements in new versions are added to the old versions, but not new features.
Debian comes in 3 versions: Stable, Testing, and Unstable — currently named Jessie, Stretch, and Sid. Stretch and Sid are shipping with 4.8, Jessie still has 3.16. Ubuntu and Kali are based on Unstable, but obviously not the same release. With Red Hat (and CentOS}, the supported versions have kernels 2.6 (supported to 2020) and 3.10.
Most of the internet is run on Debian Stable or CentOS, which means kernel versions 2 or 3, so they're obviously still functional.
|
|
|
01-03-2017, 11:15 AM
|
#4
|
LQ Newbie
Registered: Jun 2012
Posts: 6
Original Poster
Rep:
|
So, even though my current Ubuntu release is using kernel release 4.4, I can upgrade it to the latest release of 4.9? So, CentOS, for example is on 3.10. Is this because the creators haven't found a need to upgrade to the latest 4.9? I imaging each distro has their reasons of why they are running older kernel releases, correct? This may be hard to explain or answer since every distro is different, but why can't every distro be at the same kernel release?
Thank you.
|
|
|
01-03-2017, 11:36 AM
|
#5
|
Senior Member
Registered: Feb 2009
Posts: 4,667
|
Yes, you can always compile the latest kernel in any distribution, this is a basic "Linux 101" skill. However, you might not need to!
Here's a very helpful article for understanding the concept of "backporting":
https://access.redhat.com/security/updates/backporting/
Let's look at a specific example. You mention your CentOS has kernel version 3.10. I can completely understand the thought process "3.10 is an old kernel, so that means I should update to a newer kernel, right?" However, the Red Hat team is constantly "backporting" bug fixes, security patches, and new hardware support into the kernel. The number of the kernel is kept at 3.10 (to prevent breakage and allow for backward compatibility) but in actuality it is kept quite up to date.
In conclusion, it is a fallacy to compare version numbers from distro to distro. The maintainers of each distribution have perfectly valid reasons why they "freeze" each package at a particular version.
If you want a "rolling release" distribution that always gives you the latest versions of everything, then I strongly recommend Arch Linux.
|
|
2 members found this post helpful.
|
01-03-2017, 11:37 AM
|
#6
|
LQ Guru
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,827
|
While you can update a distro to use a kernel other than the one provided by the vendor, do understand that you are now taking matters into your own hands and that you are hereafter proceeding "at your own risk."
Which is not necessarily a bad thing. Just remember that the distributor makes certain assumptions in order to provide you with "a top-to-bottom package that works(?)." If you change the kernel in some way that is now incompatible with the distributor's code, those features will no longer work properly, and you can't turn to them for support.
|
|
|
01-03-2017, 11:45 AM
|
#7
|
LQ Guru
Registered: Nov 2008
Location: Pictland
Distribution: Linux Mint 21 MATE
Posts: 8,048
|
Each new kernel release adds functionality and solves bugs (and also sometimes adds a little regression just for fun). It will also add support for new hardware but sometimes remove support for older hardware.
All this leads to instability and also requires a distro to compile the new release to its specific requirements as well as test it. Instability is not what you want in business in particular.
So, different distros take different approaches to supporting upgraded kernels, ranging from the ultra conservative to the bleeding edge. However any individual user can upgrade the kernel that they use to one unsupported or not recommended by their distro. They may do this to support newer hardware (or, alternatively, they could patch the kernel to achieve this). It can have its rewards but may have its risks.
Yes, you can try out the 4.9 kernel in Ubuntu ( http://ubuntuhandbook.org/index.php/...tu-linux-mint/). If it goes awry for some reason, then you can always revert to a previous kernel through the startup grub screen.
|
|
1 members found this post helpful.
|
01-03-2017, 02:09 PM
|
#8
|
LQ Newbie
Registered: Jun 2012
Posts: 6
Original Poster
Rep:
|
Quote:
Originally Posted by snowpine
Yes, you can always compile the latest kernel in any distribution, this is a basic "Linux 101" skill. However, you might not need to!
Here's a very helpful article for understanding the concept of "backporting":
https://access.redhat.com/security/updates/backporting/
Let's look at a specific example. You mention your CentOS has kernel version 3.10. I can completely understand the thought process "3.10 is an old kernel, so that means I should update to a newer kernel, right?" However, the Red Hat team is constantly "backporting" bug fixes, security patches, and new hardware support into the kernel. The number of the kernel is kept at 3.10 (to prevent breakage and allow for backward compatibility) but in actuality it is kept quite up to date.
In conclusion, it is a fallacy to compare version numbers from distro to distro. The maintainers of each distribution have perfectly valid reasons why they "freeze" each package at a particular version.
If you want a "rolling release" distribution that always gives you the latest versions of everything, then I strongly recommend Arch Linux.
|
Thank you! Makes perfect sense to me now.
|
|
|
01-26-2017, 02:28 PM
|
#9
|
Member
Registered: Feb 2012
Location: Buenos Aires, Argentina
Distribution: Debian, Suse, Mandrake,
Posts: 92
Rep:
|
Hi. Kernel version is matter to support new hardware (and sometimes erase support for old hardware, like isa sound cards).
But you can compile a kernel by yourself. It is not difficult, but you must know your hardware (to select correct modules and kernel options). It is a good idea to build a kernel, because it make a kernel (and modules directory) more little (and light for run with less RAM and Chip).
A lot of years ago i prefer to use compiled kernel (2.2 and 2.4 versions) because it does a better performance on my old CPUs. (like PI 200MHz). And can compile modules for my VGA and Sound without need to install and boot a lot of modules and/or in the kernel. With this old machine and a light kernel i can create and play MP3s (which was really heavy for those PI).
But you must read kernel manual first. And look at the libraries (libc x.x) versions, and compilers (gcc, cvs, etc), because each kernel version need at least a minimum version of libraries and compilers.
Good luck and have a nice day.
|
|
|
All times are GMT -5. The time now is 03:55 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|