Results 1 to 8 of 8

Thread: Question about the Linux kernel

  1. #1
    Join Date
    Oct 2007
    Posts
    8

    Default Question about the Linux kernel

    Hello all,
    I have been using Linux for quite a while but there is one thing that I have never fully understood, and that concerns the Linux kernel. Here are the questions that I have.

    1. The first question that comes to mind is why are there so many of them? There are the 2.4 series and then the 2.6 with many different ones included in each series.

    2. Why do so many of the distros have their own custom kernel?

    3. If you are using a distro that uses a custom kernel could you download and use one of the vanilla kernels? Or would this break your system?

    4. If using one of the vanilla kernels would be safe to use which one should you choose? Or should you stick with the custom kernel the distro provides?

    Thanks for any insight that you might be able to give me.

  2. #2
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    4,729

    Default

    1 - So many? There are many of any software product. And as with all software, some people continue to use an old version.

    2 - Most often they want to include something not in the vanilla kernel

    3 - This could break your system, or at least the parts that depend on the modifications

    4 - A question you can only answer yourself. Do you want stability? Bleeding edge features? The latest stable kernel, 2.6.24, might have something you want. Or the -mm beta tree. Or the stable 2.6.16 series. Choices are infinite.

  3. #3
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,282

    Default

    I don't think the issue here is "custom kernels" as much as "the kernel is constantly evolving, with new versions coming along frequently, and each distro picks up the version they feel is most appropriate at the time they are locking down their own release".

    In other words -- a new train comes along every 30 minutes, each with a different version number. The train you take depends on what time you get to the station

  4. #4
    Join Date
    Sep 2006
    Location
    PL
    Posts
    906

    Default

    1. The first question that comes to mind is why are there so many of them? There are the 2.4 series and then the 2.6 with many different ones included in each series.
    2.6 is nowadays desktop standard kernel line. it has some branches for people who prefer stability over features - e.g. 2.6.16.x branch is one such example. i think every 4 releases such a branch is created - mostly for people running servers.

    2.4 series is more suited for embedded systems. it works better on smaller systems as it's more tailored for them.

    2.2 is for people that want to use it with old software and/or even lower profile hardware than 2.2.

    2. Why do so many of the distros have their own custom kernel?
    because there are lots of useful additions to the kernel that are not in the main kernel source tree, scattered around. take squashfs filesystem support for example (it's planned to be merged soon, though).

    3. If you are using a distro that uses a custom kernel could you download and use one of the vanilla kernels? Or would this break your system?
    it should not be a big problem. but some distros ship their kernels with lots of additional modules or features not found in the standard kernel, and some software provided in the distribution might rely on it.

    this is/was most likely the problem with opensuse or mandriva. most other distros should be 'safe' in this regard. if you know what you are doing, of course.

    4. If using one of the vanilla kernels would be safe to use which one should you choose? Or should you stick with the custom kernel the distro provides?
    if your distro uses 2.4 kernel - you can use 2.4 or upgrade to 2.6.

    if your distro uses 2.6 - you should use 2.6 release, because newer glibc might stop working if you decide to switch to 2.4 for some reason. it doesn't really matter which version from 2.6 will you pick. for desktop - the newer the better, for server - and older branch with four part number would be more useful [like the aforementioned 2.6.16.x which is somewhere around 2.6.16.46 by now].
    Last edited by yoshi314; 02-06-2008 at 03:17 PM.

  5. #5
    Join Date
    Oct 2007
    Posts
    8

    Default

    Thanks for all your insight, I appreciate the time you took to respond to my questions. I have often thought about downloading one of the newer kernels that I knew had just included support for one of my pieces of hardware but was concerned that I would totally break my system if I did so. I do not run any critical stuff, is only my personal system so I suppose there is very minimal risk just the time to do a reinstall and get everything set up again if the worse case happened. Isn't there a way to have more than one kernel that you can choose at boot time in Grub just to test the new kernel? Are there any tutorials that may cover this? What would be a good Google search term to find this kind of info?
    Thanks,
    Robert

  6. #6

    Default

    When compiling and installing a new kernel, it should automatically create a new entry in the grub.conf/menu.lst. If you get a panic on boot or anything, when GRUB appears just select a different kernel. You can then edit the default entry that the GRUB will boot to.

  7. #7
    Join Date
    Sep 2006
    Posts
    353

    Default

    Try "Compiling yourself a 2.6.23 Kernel (with Reiser4 support). (2.6.24 Kernel Patch)" at:

    http://linuxhelp.150m.com/installs/compile-kernel.htm

  8. #8
    Join Date
    Jun 2006
    Posts
    311

    Default

    [/QUOTE]
    Quote Originally Posted by robert3353 View Post
    Hello all,
    I have been using Linux for quite a while but there is one thing that I have never fully understood, and that concerns the Linux kernel. Here are the questions that I have.

    1. The first question that comes to mind is why are there so many of them? There are the 2.4 series and then the 2.6 with many different ones included in each series.
    The kernels are continual stream of development. There are stability checkpoints that push of a 'stable ' kernel - the 'stable' is in quotes since it may regress on functionality that _you_ care about, but in general you should be okay.

    The version bumps are usually not driven by any fundamental changes apart from the continual stream of changes. (the 2.4/2.5 kernel series resulting in 2.6 is more reflected in the 2.6.x to 2.6.x+1 series.)

    Quote Originally Posted by robert3353 View Post
    2. Why do so many of the distros have their own custom kernel?
    As John mentioned, when a OSV (RH, Novell, Canonical) target their release, they will look at the current kernel plans and 'pin' to one of those kernels. Canonical decided to move use 2.6.24. They even prepared the kernel version details to be called 2.6.24 even before it was released.

    That deals with the different _base_ kernel versions. Each OSV picks up money from their commercial customers who want them to do things. If the upstream kernel has bugs, doesn't have features and so on that is important to their customers, they will invest the engineering work to make 2.6.24 + important customer requored changes. Usually these changes are restricted to drivers or technology enablement - very rarely do they change the fundamental (VM system (*), networking stack,etc).

    There are also custom changes that the OSV is working with the kernel community to stabilize that they decide is worth the risk to take into production in advance.

    * Red hat used to be known as the distro that was dealing with high end hardware so always had 'VM system tweaks' that existed no where else.


    Quote Originally Posted by robert3353 View Post
    3. If you are using a distro that uses a custom kernel could you download and use one of the vanilla kernels? Or would this break your system?
    In general they should work, and is generally safe for most people. In general the distributions will have a way to 'Ubuntify (or Red-Hatify)' a newer kernel so that it looks, smells and interacts with the system in the same way as the distributions kernels. Be very careful about ensuring that you have tool support (module-init-tools).

    Quote Originally Posted by robert3353 View Post
    4. If using one of the vanilla kernels would be safe to use which one should you choose? Or should you stick with the custom kernel the distro provides?
    In general, stick with the in-distro kernel unless you have a need. If you have a need, try a vanilla kernel, but if you run into grief usually updating to an alpha or beta of the next distribution will give you a stabilized stable kernel for your distro.

    Quote Originally Posted by robert3353 View Post
    Thanks for any insight that you might be able to give me.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •