From Fedora Project Wiki

Revision as of 18:05, 3 January 2016 by Thl (talk | contribs) (major rework)

Package repository with Linux vanilla kernels for Fedora

Overview

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', 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.

How to use these repos – the quick (aka TLDR) description

Download the repo definitions:

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

Alternatively run this if you want to get the latest stable kernel:

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

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.
  • 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.
  • 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).

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 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:

How to use these repos – the verbose version

Repo configuration

First download the repo definitions:

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:

repo 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, but not those from the merge window 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 4.4, 4.4.1, 4.5-rc1, 4.5-rc1-git2 but not 4.5-rc0-git1
kernel-vanilla-stable the latest kernels from the Linux mainline series those who want the latest Linux stable kernel 4.4, 4.4.1
kernel-vanilla-stable-rc the latest kernels from the Linux mainline series including those that are just prepared 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. Except for times when Fedora is one major version behind this repo will contain the same kernels as kernel-vanilla-stable those that want to check if a vanilla kernel shows the same 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 repo, hence adjust the commands if you want to use a different repo.

Install a kernel from the repo

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 repo to make Dnf automatically install new mainline kernels when updating the system:

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

When you install a kernel from the repo 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 http://repos.fedorapeople.org/repos/thl/kernel-vanilla-stable/RPM-GPG-KEY-fedora-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.

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 the upstream bugtracker and the [[1]] of mailing lists like the LKML].

General

No issues known.

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