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 the 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.repo
Run this to get the latest development kernel:
sudo dnf --enablerepo=kernel-vanilla-mainline update
You don't want to run a development kernel and want the latest stable kernel instead? 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 installed 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. For example, if you start Fedora using a boot manger from a different distribution you'll have to boot into that one and update its boot loader configuration to start the newly installed kernel; in Ubuntu you do that by running
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.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-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 to use the
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 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 commands 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 an up2date answer:
releases="24 23 22"; branches="mainline mainline-wo-mergew stable-rc stable fedora"; \ for branch in ${branches} ; do for release in ${releases} ; do queryresult=$(dnf repoquery --repofrompath=repo,http://repos.fedorapeople.org/repos/thl/kernel-vanilla-${branch}/fedora-${release}/x86_64/ --disablerepo=* --enablerepo=repo --available --latest-limit=1 -q kernel 2>/dev/null) echo "${branch} ${release} ${queryresult:-not_available}" done; done | column -t | sed 's!kernel-0:!!; s!.x86_64!!;'
Who is behind this effort?
Right now the kernel vanilla repositories for Fedora are maintained by Thorsten Leemhuis (aka "knurd") only. Maybe over time people join to help, that's why this text is written as if a team is keeping care of the repositories.
How can I uninstall all kernels from the kernel vanilla repositories
Boot into a stock Fedora kernel and run
sudo dnf remove $(rpm -qa 'kernel*' | grep '.vanilla.knurd' )
DNF will then show what is about to get uninstalled; review that list carefully and better abort if something looks fishy.
What is the goal of these repositories? Are these kernels as good as those Fedora provides?
These and other questions are answered in the 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 list 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