From Fedora Project Wiki

m
m
Line 1: Line 1:
 
= Package repository with Linux vanilla kernels for Fedora =  
 
= Package repository with Linux vanilla kernels for Fedora =  
  
This page contains information about a [http://repos.fedorapeople.org/repos/thl/ set of repositories] which contain RPM packages with Linux vanilla kernels built for Fedora. 'Vanilla' in this scope means 'unmodified', hence the sources used to compile those kernels come straight from kernel.org and do not contain any of those enhancements which are a part of the official Fedora kernels.
+
This page contains information about a [http://repos.fedorapeople.org/repos/thl/ set of repositories] which contain RPM packages with Linux vanilla kernels built for Fedora. 'Vanilla' in this scope means 'unmodified'. In other words: the sources used to compile those kernels come straight from kernel.org and do not contain any of those enhancements which the official Fedora kernels contain.
  
 
= How to use these repos =
 
= How to use these repos =
  
== The quick (aka TLDR) description ==
+
== How to use, the quick (aka TLDR) verison ==
  
Download the repo definitions:  
+
Download the definitions for the Kernel vanilla repositories:  
 
<pre>
 
<pre>
 
curl -s https://repos.fedorapeople.org/repos/thl/kernel-vanilla.repo | sudo tee /etc/yum.repos.d/kernel-vanilla-mainline.repo
 
curl -s https://repos.fedorapeople.org/repos/thl/kernel-vanilla.repo | sudo tee /etc/yum.repos.d/kernel-vanilla-mainline.repo
Line 17: Line 17:
 
</pre>
 
</pre>
  
Alternatively run this if you want to get the latest stable kernel:
+
Want to get the latest stable kernel? Then run this:
 
<pre>
 
<pre>
 
sudo dnf --enablerepo=kernel-vanilla-stable update
 
sudo dnf --enablerepo=kernel-vanilla-stable update
Line 24: Line 24:
 
Reboot. That's it – at least most of the time, as sometimes it's not that easy:
 
Reboot. That's it – at least most of the time, as sometimes it's not that easy:
  
* You have to disable UEFI Secure Boot in your BIOS Setup to run kernels from these repos, as they are not signed with a key that is considered as trusted.
+
* Is UEFI Secure Boot active on your system? Then you have to disable it in your BIOS Setup to run kernels from these repos, as they are not signed with a key that a default Secure Boot setup considers trusted.
  
* The "dnf update"-commands will not install anything if the version of the latest kernel package installed on your machine is higher than the version of the latest kernel packagers offered in the chosen kernel-vanilla repo.  
+
* Nothing get instaled by the "dnf update"-command? Then the version of the latest kernel package installed on your machine is higher than the version of the latest kernel packagers offered in the chosen kernel-vanilla repository.  
  
* If a newly installed kernel is not started by default then there is something fishy in your boot configuration. If you for example start Fedora using a boot manger from a different distribution you have to boot into it and update its boot loader configuration (in Ubuntu for example you need to run update-grub).
+
* The newly installed kernel should get started by default. If that's not the case there is something fishy in your boot configuration. If you for example start Fedora using a boot manger from a different distribution you'll have to boot into that one and update its boot loader configuration (in Ubuntu for example you need to run update-grub).
  
 
Optionally run  
 
Optionally run  
Line 41: Line 41:
 
</pre>
 
</pre>
  
if you want to enable one of those two repos permanently. They are the two main repos this page is about. For details about those and the other available repositories see the verbose description:
+
if you want to enable one of those repos permanently. They are the two main repos this page is about. There are three more for special use cases. For details see below.
  
== The verbose version ==
+
== How to use, the verbose version ==
  
=== Repo configuration ===
+
=== Configure the repositories ===
  
First download the repo definitions:
+
First download the repository definitions for DNF:
  
 
<pre>
 
<pre>
Line 56: Line 56:
  
 
{| class="wikitable"
 
{| class="wikitable"
!style="vertical-align:top;"|repo
+
!style="vertical-align:top;"|repository
 
!description
 
!description
 
!target users
 
!target users
Line 67: Line 67:
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| kernel-vanilla-mainline-wo-mergew
 
| kernel-vanilla-mainline-wo-mergew
| the latest kernels from the Linux mainline series, but not those from the merge window
+
| the latest kernels from the Linux mainline series, except during the merge window, when it might contain the latest stable kernel.
| those who want the latest mainline kernel, but want to avoid kernels from the merge window when the bulk of changes for a new version get merged into the mainline tree
+
| those who want the latest mainline kernel, but want to avoid development versions from the merge window (like 4.5-rc0-git1) – that the phase in the development cycle when the bulk of changes get merged for a new kernel version
| 4.4, 4.4.1, 4.5-rc1, 4.5-rc1-git2 but not 4.5-rc0-git1
+
| 4.4, 4.4.1, 4.5-rc1, 4.5-rc1-git2
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| kernel-vanilla-stable
 
| kernel-vanilla-stable
| the latest kernels from the Linux mainline series
+
| the latest non-development version from the mainline or stable kernel series
 
| those who want the latest Linux stable kernel
 
| those who want the latest Linux stable kernel
 
| 4.4, 4.4.1
 
| 4.4, 4.4.1
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| kernel-vanilla-stable-rc
 
| kernel-vanilla-stable-rc
| the latest kernels from the Linux mainline series including those that are just prepared
+
| the latest non-development version from the mainline or stable kernel series, but also kernels from the stable series that are about to get released
 
| those who want to help testing new stable kernels
 
| those who want to help testing new stable kernels
 
| 4.4, 4.4.1, 4.4.2-rc1
 
| 4.4, 4.4.1, 4.4.2-rc1
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| kernel-vanilla-stable-fedora
 
| kernel-vanilla-stable-fedora
| contains a vanilla build of the latest kernel which Fedora currently ships or has in its update queue. Except for times when Fedora is one major version behind this repo will contain the same kernels as kernel-vanilla-stable
+
| contains a vanilla build of the latest kernel which Fedora currently ships or has in its update queue; most of the time this repository will contain the same kernels as kernel-vanilla-stable, except for times when Fedora hasn't yet jumped to the latest major version
| those that want to check if a vanilla kernel shows the same behavior as the Fedora kernel
+
| those who want to check if a vanilla kernel shows the same bug or behavior as the Fedora kernel
 
| 4.4, 4.4.1
 
| 4.4, 4.4.1
 
|}
 
|}
  
 
Chose which one of those you want to use. The following examples assume you want <code>
 
Chose which one of those you want to use. The following examples assume you want <code>
kernel-vanilla-mainline</code> repo, hence adjust the commands if you want to use a different repo.  
+
kernel-vanilla-mainline</code> repository, hence adjust the commands if you want to use a different repository.  
  
=== Install a kernel from the repo ===
+
=== Install a kernel from the repository ===
  
 
Run this command to install the latest mainline kernel from the kernel vanilla repos:
 
Run this command to install the latest mainline kernel from the kernel vanilla repos:
Line 97: Line 97:
 
</pre>
 
</pre>
  
Alternatively you can permanently enable that repo to make Dnf automatically install new mainline kernels when updating the system:
+
Alternatively you can permanently enable that repository to make DNF automatically install new kernel packages when updating the system:
  
 
<pre>
 
<pre>
Line 104: Line 104:
 
</pre>
 
</pre>
  
When you install a kernel from the repo for the first time Dnf will ask you if you trust the [https://pgp.mit.edu:11371/pks/lookup?op=get&search=0xD7927A2FCC9DBCAB the public key] that is used to verify the signature of the packages from the kernel vanilla repositories. It will look like this:
+
When you install a kernel from the repository for the first time DNF will ask you if you trust the [https://pgp.mit.edu:11371/pks/lookup?op=get&search=0xD7927A2FCC9DBCAB the public key] that is used to verify the signature of the packages from the kernel vanilla repositories. It will look like this:
 
<pre>
 
<pre>
 
Retrieving key from https://repos.fedorapeople.org/repos/thl/RPM-GPG-KEY-knurd-kernel-vanilla
 
Retrieving key from https://repos.fedorapeople.org/repos/thl/RPM-GPG-KEY-knurd-kernel-vanilla
Line 114: Line 114:
 
</pre>
 
</pre>
  
Dnf will proceed once you acknowledge this.  
+
DNF will proceed once you acknowledge this.  
  
 
= Important notes =
 
= Important notes =
Line 146: Line 146:
 
The following sections will list differences to Fedora's proper kernel packages that might be relevant to users. It will also lists known problems specific to the packaging of the vanilla kernels.
 
The following sections will list differences to Fedora's proper kernel packages that might be relevant to users. It will also lists known problems specific to the packaging of the vanilla kernels.
  
Please note that these section will not lists any issues known in kernel version that are packaged, as it's best to maintain that information in a central place. So for a list of known bugs in the kernels packaged look at the [https://bugzilla.kernel.org/ the upstream bugtracker] and the [[http://news.gmane.org/gmane.linux.kernel|archives]] of mailing lists like the [http://www.tux.org/lkml/ LKML]].
+
== General ==
 +
 
 +
* No issues known.
  
== General ==
+
== F22 ==
  
No issues known.
+
* Kernels and modules do not get signed until the new pesign hits the updates repositories
  
 
= ToDo list =
 
= ToDo list =

Revision as of 18:32, 4 January 2016

Package repository with Linux vanilla kernels for Fedora

This page contains information about a set of repositories which contain RPM packages with Linux vanilla kernels built for Fedora. 'Vanilla' in this scope means 'unmodified'. In other words: the sources used to compile those kernels come straight from kernel.org and do not contain any of those enhancements which the official Fedora kernels contain.

How to use these repos

How to use, the quick (aka TLDR) verison

Download the definitions for the Kernel vanilla repositories:

curl -s https://repos.fedorapeople.org/repos/thl/kernel-vanilla.repo | sudo tee /etc/yum.repos.d/kernel-vanilla-mainline.repo

Run this to get the latest development kernel:

sudo dnf --enablerepo=kernel-vanilla-mainline update

Want to get the latest stable kernel? Then run this:

sudo dnf --enablerepo=kernel-vanilla-stable update

Reboot. That's it – at least most of the time, as sometimes it's not that easy:

  • Is UEFI Secure Boot active on your system? Then you have to disable it in your BIOS Setup to run kernels from these repos, as they are not signed with a key that a default Secure Boot setup considers trusted.
  • Nothing get instaled by the "dnf update"-command? Then the version of the latest kernel package installed on your machine is higher than the version of the latest kernel packagers offered in the chosen kernel-vanilla repository.
  • The newly installed kernel should get started by default. If that's not the case there is something fishy in your boot configuration. If you for example start Fedora using a boot manger from a different distribution you'll have to boot into that one and update its boot loader configuration (in Ubuntu for example you need to run update-grub).

Optionally run

sudo dnf config-manager --set-enabled kernel-vanilla-mainline

or

sudo dnf config-manager --set-enabled kernel-vanilla-stable

if you want to enable one of those repos permanently. They are the two main repos this page is about. There are three more for special use cases. For details see below.

How to use, the verbose version

Configure the repositories

First download the repository definitions for DNF:

curl -s https://repos.fedorapeople.org/repos/thl/kernel-vanilla.repo | sudo tee /etc/yum.repos.d/kernel-vanilla-mainline.repo

This will install a repo file with following repos:

repository description target users example versions
kernel-vanilla-mainline the latest kernels from the Linux mainline series those who want the latest mainline kernel 4.4, 4.5-rc0-git1, 4.5-rc1, 4.5-rc1-git2
kernel-vanilla-mainline-wo-mergew the latest kernels from the Linux mainline series, except during the merge window, when it might contain the latest stable kernel. those who want the latest mainline kernel, but want to avoid development versions from the merge window (like 4.5-rc0-git1) – that the phase in the development cycle when the bulk of changes get merged for a new kernel version 4.4, 4.4.1, 4.5-rc1, 4.5-rc1-git2
kernel-vanilla-stable the latest non-development version from the mainline or stable kernel series those who want the latest Linux stable kernel 4.4, 4.4.1
kernel-vanilla-stable-rc the latest non-development version from the mainline or stable kernel series, but also kernels from the stable series that are about to get released those who want to help testing new stable kernels 4.4, 4.4.1, 4.4.2-rc1
kernel-vanilla-stable-fedora contains a vanilla build of the latest kernel which Fedora currently ships or has in its update queue; most of the time this repository will contain the same kernels as kernel-vanilla-stable, except for times when Fedora hasn't yet jumped to the latest major version those who want to check if a vanilla kernel shows the same bug or behavior as the Fedora kernel 4.4, 4.4.1

Chose which one of those you want to use. The following examples assume you want kernel-vanilla-mainline repository, hence adjust the commands if you want to use a different repository.

Install a kernel from the repository

Run this command to install the latest mainline kernel from the kernel vanilla repos:

sudo dnf --enablerepo=kernel-vanilla-mainline update

Alternatively you can permanently enable that repository to make DNF automatically install new kernel packages when updating the system:

sudo dnf config-manager --set-enabled kernel-vanilla-mainline
sudo dnf update

When you install a kernel from the repository for the first time DNF will ask you if you trust the the public key that is used to verify the signature of the packages from the kernel vanilla repositories. It will look like this:

Retrieving key from https://repos.fedorapeople.org/repos/thl/RPM-GPG-KEY-knurd-kernel-vanilla
Importing GPG key 0xCC9DBCAB:
 Userid     : "Thorsten Leemhuis (Key for signing vanilla kernel rpms) <fedora@leemhuis.info>"
 Fingerprint: e5e8 d53e e5af be95 633d 690f d792 7a2f cc9d bcab
 From       : https://repos.fedorapeople.org/repos/thl/RPM-GPG-KEY-knurd-kernel-vanilla
Is this ok [y/N]: 

DNF will proceed once you acknowledge this.

Important notes

Please be aware that

  • none of the developers that maintain the Fedora kernel is involved in the maintenance of the kernel vanilla repos for Fedora
  • most systems work better and are run in a more secure manner with the official Fedora kernels
  • if you don't know what above command do then you likely should not use these repos or its packages

More details about the kernel vanilla repos

What kernel versions do the repos currently contain?

Cut'n'paste these lines for a up2date answer:

releases="24 23 22"; branches="mainline mainline-wo-mergew stable-rc stable stable-fedora"; \
for branch in ${branches} ; do for release in ${releases} ; do
  queryresult=$(repoquery --repofrompath=repo,http://repos.fedorapeople.org/repos/thl/kernel-vanilla-${branch}/fedora-${release}/x86_64/ --disablerepo=* --enablerepo=repo --qf '%{evr}' -q kernel 2>/dev/null)
  echo "${branch} ${release} ${queryresult:-unavailable}"
done; done | column -t

What is the goal of these repos? Who is behind this?

These and other questions are FAQ about the kernel vanilla repositories.

Known issues and differences

The following sections will list differences to Fedora's proper kernel packages that might be relevant to users. It will also lists known problems specific to the packaging of the vanilla kernels.

General

  • No issues known.

F22

  • Kernels and modules do not get signed until the new pesign hits the updates repositories

ToDo list

  • enable some of the staging drivers Fedora avoids (basically those a well known add-on repository for Fedora ships as add-on package)
  • automate builds more to keep repos more up2date
  • automate builds for stable-testing kernels