What makes up the Fedora kernel?

Every Fedora system runs a kernel. Many pieces of code come together to make this a reality.

Each release of the Fedora kernel starts with a baseline release from the upstream community. This is often called a ‘vanilla’ kernel. The upstream kernel is the standard. The goal is to have as much code upstream as possible. This makes it easier for bug fixes and API updates to happen as well as having more people review the code. In an ideal world, Fedora would be able to to take the kernel straight from kernel.org and send that out to all users.

Realistically, using the vanilla kernel isn’t complete enough for Fedora. Some features Fedora users want may not be available. The Fedora kernel that users actually receive contains a number of patches on top of the vanilla kernel. These patches are considered “out of tree.” Many of these patches will not exist out of tree patches very long. If patches are available to fix an issue, the patches may be pulled in to the Fedora tree so the fix can go out to users faster. When the kernel is rebased to a new version, the patches will be removed if they are in the new version.

Some patches remain in the Fedora kernel tree for an extended period of time. A good example of patches that fall into this category are the secure boot patches. These patches provide a feature Fedora wants to support even though the upstream community has not yet accepted them. It takes effort to keep these patches up to date so Fedora tries to minimize the number of patches that are carried without being accepted by an upstream kernel maintainer.

Generally, the best way to get a patch included in the Fedora kernel is to send it to the Linux Kernel Mailing List (LKML) first and then ask for it to be included in Fedora. If a patch has been accepted by a maintainer it stands a very high chance of being included in the Fedora kernel tree. Patches that come from places like github which have not been submitted to LKML are unlikely to be taken into the tree. It’s important to send the patches to LKML first to ensure Fedora is carrying the correct patches in its tree. Without the community review, Fedora could end up carrying patches which are buggy and cause problems.

The Fedora kernel contains code from many places. All of it is necessary to give the best experience possible.

Fedora Project community

13 Comments

  1. Lukes®

    Is it True that Kernel race is true master race.

  2. Gary

    A good view of what Fedora kernel is all about. Also, this just goes to show how great the open source community is. Fedora finds a bug fix on their version of the kernel, and submit it upstream. If it’s accepted the kernel includes the bug fix and all the other distros benefit, and indeed everyone using the kernel. Same goes if someone else contributes, the Fedora team benefits, with less bugs, and less maintenance work on the kernel itself.

  3. Leslie Satenstein

    Hi Laura,
    A well written summary but your article was too short. What is “rebaseing ” and what about multilanguage support? French/English/Russian/Spanish etc. I am interested in what a rebase means versus an update.

    • David

      Read something about how git works 😉

    • Slartibartfas

      It’s part of git.
      For extensive information type “man git” or “man git-rebase” in a Terminal or look at git’s Wikipedia page.

    • As a concept, rebasing is close to what people do think when you say “update”, however the term is slighty more nuanced than that.

      Typically, when doing a rebase, you are pulling down the newest version from upstream, and then checking if the patches you are holding in your version still work or are still needed.

      For example, say we have Fedora kernel version 4.4.13, and it has 3 patches that are not in the upstream (vanilla) kernel. Rebasing is typically referred to the process of pulling down a newer version of the Kernel from upstream, say 4.6.1, then checking to see if the 3 patches we had applied to 4.4.13 still function as expected on the newer 4.6.1 kernel. Additionally, some of these 3 patches might also not be needed anymore if they were merged upstream, so they would be removed.

  4. Robin

    A rebase is simply that the kernel version jumps from lets say 4.5 to 4.7 or in directly to 6.** version.

    Someone please correct me if im wrong

  5. Curtis nelson

    Timely update for new F24 users. Link to the cgit pkgs site is pure gold. Thanks!

  6. Is latest kernel in F24 already support my Bumblebee card? because before, F24 got hang after install Bumblebee driver.

  7. Coming from a Linux Ethusiast but someone still very much stuck in Windows for 90% of my tasks can someone explain how the Linux Kernel works differently then the Windows Kernel without going to much into Windows Vs Linux wars? I am just currious on a code level what is really different about the two and how they handle resources/hardware requests.

    • Wally Kramer

      You are not stuck in Windows. You can leave it behind at any time, though there will be a learning curve.

      Many of the differences you can rejoice about. For example, you don’t actually like the complexity of Outlook, right? And how about all those useless system notification messages?

      There is a Fedora alternative to every Windows application. In many cases, you can run proprietary Windows applications directly on Fedora! Just type “wine my_windows_app.exe”. Wine is a Windows environment emulator which works well on properly written (follows Microsofts rules for application design) Windows applications. Amusingly, wine does not work well on Microsoft’s flagship applications like Word, Powerpoint, Excel, Outlook, IE, etc., because they did not follow the rules they require of non-MS developers. For some Windows applications, there is no need for a Fedora replacement: Linux is naturally virus resistant. Its security model and open source philosophy do not provide a thriving virus laboratory. Who really wanted to hassle with virus protection in the first place?

      LibreOffice is more than a match for Microsoft’s Office suite. For example, LibreOffice Writer is more compatible with Word files than Word is! Writer can easily open and edit ancient Word files which Office 2013 chokes on. And LibreOffice Calc does not (by default) provide all the “corrections” that Excel does when entering data and formulas.

      As for the system differences, it largely has to do with clear delineation between privileged and non-privileged operations. Windows is a muddle of patches upon patches. Linux derives from a clear system vs. application functionality derived from Unix’s 1975 architecture.

Comments are Closed

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat. Fedora Magazine aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. The Fedora logo is a trademark of Red Hat, Inc. Terms and Conditions