From Fedora Project Wiki

(finetuning)
Line 1: Line 1:
= Linux kernel vanilla repositories for Fedora Linux =
= Linux kernel vanilla repositories for Fedora Linux =


The [https://copr.fedorainfracloud.org/groups/g/kernel-vanilla/coprs/ kernel vanilla kernel repositories] allow you to quickly, comfortably, and cleanly install the latest Linux kernels on Fedora Linux. Versions from various Linux series are available, among them: the latest ‘mainline’ kernel, the newest ‘stable’ release, or the latest version from the kernel series currently used by Fedora Linux. These kernels are perfect for both quick tests and regular day-to-day use.
The [https://copr.fedorainfracloud.org/groups/g/kernel-vanilla/coprs/ kernel vanilla repositories] allow you to quickly, comfortably, and cleanly install the latest Linux kernels on Fedora Linux. Versions from various Linux series are available, among them: the latest ‘mainline’ kernel, the newest ‘stable’ release, or the latest version from the kernel series currently used by the latest Fedora Linux release. These kernel packages are ideal for both quick tests and regular day-to-day use.


{{admon/warning|The kernel vanilla repositories after 10 years recently moved from repos.fedorapeople.org to copr!|To migrate, just delete the old .repo file in /etc/yum.repos.d/ and add the copr of choice as described on this page. For more details see [https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org/message/UWIEWCDBMCEAOCGFFTE7VCDL3QM7WSX6/ this announcement]. Sorry for the inconvenience.}}
== Linux kernels offered in the various repositories ==
 
== Linux kernels series offered in the repositories ==


{| class="wikitable"
{| class="wikitable"
Line 29: Line 27:
|- style="vertical-align:top;"
|- style="vertical-align:top;"
| '''[https://copr.fedorainfracloud.org/coprs/g/kernel-vanilla/mainline-wo-mergew/ mainline-wo-mergew]'''
| '''[https://copr.fedorainfracloud.org/coprs/g/kernel-vanilla/mainline-wo-mergew/ mainline-wo-mergew]'''
| the latest mainline kernel, either built from a proper release or a pre-release (aka "rc kernel"); outside of merge windows also git snapshot
| the latest mainline kernel, either built from a proper release or a pre-release (aka "rc kernel"); outside of merge windows also git snapshots
| anyone who normally wants the latest mainline kernel, but wants to play it a bit safer by avoiding mainline during its 'merge windows' -- that's the phase at the beginning of a development cycle where the bulk of changes (~85 percent) including all riskier ones are merged for the next mainline release, before its first pre-release (e.g. a “-rc1") is published
| anyone who normally wants the latest mainline kernel, but wants to play it a bit safer by avoiding mainline during its 'merge windows' that's the phase at the beginning of each development cycle where the bulk of changes (~85 percent) including all riskier ones are merged for the next mainline release, before its first pre-release (e.g. "6.x-rc1") is published
| …, 6.1-rc8-20221211, 6.1, 6.1.1-rc1, 6.1.1, 6.2-rc1, 6.2-rc1-20221226, 6.2-rc1-20221227, …
| …, 6.1-rc8-20221211, 6.1, 6.1.1-rc1, 6.1.1, 6.2-rc1, 6.2-rc1-20221226, 6.2-rc1-20221227, …
|- style="vertical-align:top;"
|- style="vertical-align:top;"
Line 39: Line 37:
|- style="vertical-align:top;"
|- style="vertical-align:top;"
| '''[https://copr.fedorainfracloud.org/coprs/g/kernel-vanilla/next/ next]'''
| '''[https://copr.fedorainfracloud.org/coprs/g/kernel-vanilla/next/ next]'''
| linux-next kernels; use at your own risk!
| linux-next kernels
| anyone who wants to run linux-next or test if the changes slated for inclusion in the next mainline cycle fix a problem  
| anyone who wants to run linux-next or test if the changes slated for inclusion in the next mainline cycle fix a problem  
| …, 6.1-0.0.next.20221210, 6.1-0.0.next.20221211,6.1-0.0.next.20221213, …
| …, 6.1-0.0.next.20221210, 6.1-0.0.next.20221211,6.1-0.0.next.20221213, …
|- style="vertical-align:top;"
|- style="vertical-align:top;"
|colspan="4"| '''Note''': each of those repositories includes all the ones mentioned the table mentions above it as a runtime dependency, except the next repository, which is stand-alone. Users of the ‘stable-rc’ repository thus will receive packages from the ‘stable’ or ‘fedora’ repositories when they ship kernel packages which dnf will consider newer; this will ensure users of stable-rc won’t be stuck on a kernel with known problems that were fixed between the release of the rc and the final version.
|colspan="4"| '''Note''': each of those repositories includes all the ones mentioned above them as a runtime dependency, except the next repository, which is stand-alone. Users of the ‘stable-rc’ repository thus will receive packages from the ‘stable’ or ‘fedora’ repositories when they ship kernel packages which dnf will consider newer; this will ensure users of stable-rc won’t be stuck on a kernel with known problems that were fixed between the release of the rc and the final version.
<br>
<br>
Also, be aware that none of these repositories will normally provide kernels older than those the particular Fedora release uses by default, as that could lead to problems. That aspect is mainly relevant for Fedora versions in development (IOW: rawhide and beta releases). Rawhide for example regularly uses the latest mainline builds; that’s why users of rawhide that have one of these repos enabled will receive vanilla mainline snapshots all the time (just like in rawhide itself), even if they chose the ‘stable’ or ‘mainline-wo-mergew’ repos. Users of Fedora pre-releases (e.g. a beta version) might see similar effects. Once a Fedora version under development gets closer to its final release everything will start to work as advertised.
Also, be aware that none of these repositories will normally provide kernels older than the version the particular Fedora release uses by default, as that could lead to problems. That aspect is mainly relevant for Fedora versions in development (IOW: rawhide and beta releases). Rawhide for example regularly uses the latest mainline builds; that’s why users of rawhide that have one of these repos enabled will receive vanilla mainline snapshots all the time (just like in rawhide itself), even if they chose the ‘stable’ or ‘mainline-wo-mergew’ repos. Users of Fedora pre-releases (e.g. a beta version) might see similar effects; but everything will start to work as advertised once the version gets closer to its release date.
|}
|}


Line 59: Line 57:
</pre>
</pre>


In case you want that vanilla kernel just for a quick test, run <code>sudo dnf copr remove @kernel-vanilla/mainline</code> right afterwards to remove the repository again. Later when you’ve finished your tests, reboot and choose the latest stock Fedora Linux kernel from the boot menu; then uninstall all packages from the kernel vanilla repositories using <code>sudo dnf remove $(rpm -qa 'kernel*' | grep '.vanilla' )</code> to ensure retrieving kernel updates from Fedora again.
In case you want that vanilla kernel just for a quick test, run <code>sudo dnf copr remove @kernel-vanilla/mainline</code> right afterwards to remove the repository again. Later when you’ve finished your tests, reboot and choose the latest stock Fedora Linux kernel from the boot menu; then uninstall all packages from the kernel vanilla repositories using <code>sudo dnf remove $(rpm -qa 'kernel*' | grep '.vanilla' )</code> to ensure you'll retrieve kernel updates from Fedora again.


In case you want to use these repositories regularly, consider advising dnf to check for new packages more often than usual – for example by running the following command, which advices dnf to query frequently updated repositories every hour and less often updated repositories every four hours:
In case you want to use these repositories regularly, consider advising dnf to check them for new packages more often than usual – for example by running the following command, which advices dnf to query frequently updated repositories every hour and others every four hours:


<pre>
<pre>
Line 69: Line 67:
== How vanilla kernels compare to Fedora’s ==
== How vanilla kernels compare to Fedora’s ==


Most of the time these kernels will work roundabout as well and secure as Fedora’s. Sometimes though the kernels from these repositories will work better, as they contain drivers or security fixes that haven’t reached the kernels used by Fedora Linux yet; but then again other times it’s just the other way around.
Most of the time these kernels will work roundabout as well and secure as Fedora’s. Sometimes though the kernels from these repositories will work better, as they contain drivers or security fixes that haven’t reached the kernels used by Fedora Linux yet; but then again other times it will be just the other way around.


== It’s normal that some repositories are empty or look abandoned ==
== It’s normal that some repositories are empty or look abandoned ==


Please be aware that quite a few of the repositories will look outdated, abandoned, or empty when you check for recent builds in copr’s web interface or look straight at a repository. But be assured, most likely everything is well and working as intended. It will look like that when the most recent build suitable for users of that repository is found in one of the other repositories included as a runtime dependency (see the footnote in above table for details).
Please be aware that quite a few of the repositories will look outdated, abandoned, or empty when you check for recent builds in copr’s web interface or look straight at a repositories. But be assured, most likely everything is well and working as intended. It will look like that when the most recent build suitable for users of that repository is found in one of the other repositories included as a runtime dependency (see the footnote in above table for details).


== Linux kernel versions currently offered ==
== Linux kernel versions currently offered ==
Line 82: Line 80:


<pre>
<pre>
dists=(36 37 rawhide)
dists=(37 38 rawhide)
dnf clean all > /dev/null
dnf clean all > /dev/null
unset repostring
unset repostring
Line 96: Line 94:
== Developers behind the effort and point of contact  ==
== Developers behind the effort and point of contact  ==


The kernel vanilla repositories are maintained primarily by [[user:thl|Thorsten Leemhuis (aka "knurd")]]; the SRPMs are pretty close to those used to build Fedora’s kernel, but its maintainers are not involved in the maintenance of these repositories.
The Linux kernel vanilla repositories for Fedora are maintained by [[user:thl|Thorsten Leemhuis (aka "knurd")]]; the SRPMs are based on those used to build Fedora’s kernel, but maintainers of the latter are not involved in these repositories.


For any feedback or questions regarding the kernel vanilla repositories contact [[user:thl|Thorsten Leemhuis (aka "knurd")]].
For any feedback or questions regarding the kernel vanilla repositories contact [[user:thl|Thorsten Leemhuis (aka "knurd")]].

Revision as of 12:49, 21 June 2023

Linux kernel vanilla repositories for Fedora Linux

The kernel vanilla repositories allow you to quickly, comfortably, and cleanly install the latest Linux kernels on Fedora Linux. Versions from various Linux series are available, among them: the latest ‘mainline’ kernel, the newest ‘stable’ release, or the latest version from the kernel series currently used by the latest Fedora Linux release. These kernel packages are ideal for both quick tests and regular day-to-day use.

Linux kernels offered in the various repositories

repository description target users example version sequence
fedora vanilla kernels from the stable series the latest Fedora Linux currently uses anyone who wants to check if vanilla kernels show the same bug or behaviour as the latest Fedora kernel …, 6.0.18, 6.0.19, 6.1.5, 6.1.6, …
stable the latest stable kernel according to the frontpage of kernel.org; this repo thus won't ship mainline releases like 6.1 and only jumps to a newer series once its first stable release (e.g. 6.1.1) is published anyone who wants the latest Linux stable kernel …, 6.0.14, 6.0.15, 6.1.1, 6.1.2, 6.1.3, …
stable-rc pre-releases of the next stable release anyone who wants to help testing future Linux stable kernels …, 6.0.14, 6.0.15-rc1, 6.0.15, 6.1.1-rc1, 6.1.1, …
mainline-wo-mergew the latest mainline kernel, either built from a proper release or a pre-release (aka "rc kernel"); outside of merge windows also git snapshots anyone who normally wants the latest mainline kernel, but wants to play it a bit safer by avoiding mainline during its 'merge windows' – that's the phase at the beginning of each development cycle where the bulk of changes (~85 percent) including all riskier ones are merged for the next mainline release, before its first pre-release (e.g. "6.x-rc1") is published …, 6.1-rc8-20221211, 6.1, 6.1.1-rc1, 6.1.1, 6.2-rc1, 6.2-rc1-20221226, 6.2-rc1-20221227, …
mainline mainline kernels, either built from a proper release, a pre-release (aka "rc kernel"), or a git snapshot anyone who wants to run a kernel built from the the latest Linux codebase …, 6.1-rc8-20221211, 6.1, 6.2-rc0-20221213, 6.2-rc0-20221214, 6.2-rc0-20221215, …
next linux-next kernels anyone who wants to run linux-next or test if the changes slated for inclusion in the next mainline cycle fix a problem …, 6.1-0.0.next.20221210, 6.1-0.0.next.20221211,6.1-0.0.next.20221213, …
Note: each of those repositories includes all the ones mentioned above them as a runtime dependency, except the next repository, which is stand-alone. Users of the ‘stable-rc’ repository thus will receive packages from the ‘stable’ or ‘fedora’ repositories when they ship kernel packages which dnf will consider newer; this will ensure users of stable-rc won’t be stuck on a kernel with known problems that were fixed between the release of the rc and the final version.


Also, be aware that none of these repositories will normally provide kernels older than the version the particular Fedora release uses by default, as that could lead to problems. That aspect is mainly relevant for Fedora versions in development (IOW: rawhide and beta releases). Rawhide for example regularly uses the latest mainline builds; that’s why users of rawhide that have one of these repos enabled will receive vanilla mainline snapshots all the time (just like in rawhide itself), even if they chose the ‘stable’ or ‘mainline-wo-mergew’ repos. Users of Fedora pre-releases (e.g. a beta version) might see similar effects; but everything will start to work as advertised once the version gets closer to its release date.

How to install a vanilla kernel from these repositories

If you’re on a x86 system, first run mokutil --sb-state to check whether UEFI Secure Boot is active on your system. If that’s the case you have to turn it off either in your BIOS Setup or through a process initiated with mokutil --disable-validation; do not omit this, as the kernels from these repositories won’t boot otherwise, because they are not signed with a key typical x86 systems trust.

Now enable one of the kernel vanilla repositories and update your system. The following commands for example will install the latest mainline kernel:

sudo dnf -y copr enable @kernel-vanilla/mainline
sudo dnf upgrade 'kernel*'

In case you want that vanilla kernel just for a quick test, run sudo dnf copr remove @kernel-vanilla/mainline right afterwards to remove the repository again. Later when you’ve finished your tests, reboot and choose the latest stock Fedora Linux kernel from the boot menu; then uninstall all packages from the kernel vanilla repositories using sudo dnf remove $(rpm -qa 'kernel*' | grep '.vanilla' ) to ensure you'll retrieve kernel updates from Fedora again.

In case you want to use these repositories regularly, consider advising dnf to check them for new packages more often than usual – for example by running the following command, which advices dnf to query frequently updated repositories every hour and others every four hours:

sudo sed -i 's!baseurl=https://download.copr.fedorainfracloud.org/results/@kernel-vanilla/\(mainline\|stable-rc\|next\).*!&\nmetadata_expire=1h!g; s!baseurl=https://download.copr.fedorainfracloud.org/results/@kernel-vanilla/\(stable\|fedora\)/.*!&\nmetadata_expire=4h!g;' /etc/yum.repos.d/_copr:copr.fedorainfracloud.org:group_kernel-vanilla:*.repo

How vanilla kernels compare to Fedora’s

Most of the time these kernels will work roundabout as well and secure as Fedora’s. Sometimes though the kernels from these repositories will work better, as they contain drivers or security fixes that haven’t reached the kernels used by Fedora Linux yet; but then again other times it will be just the other way around.

It’s normal that some repositories are empty or look abandoned

Please be aware that quite a few of the repositories will look outdated, abandoned, or empty when you check for recent builds in copr’s web interface or look straight at a repositories. But be assured, most likely everything is well and working as intended. It will look like that when the most recent build suitable for users of that repository is found in one of the other repositories included as a runtime dependency (see the footnote in above table for details).

Linux kernel versions currently offered

The file www.leemhuis.info/files/kernel-vanilla/repostatus.txt shows what the repositories currently provide.

Or execute the following script to query the latest packages locally:

dists=(37 38 rawhide)
dnf clean all > /dev/null
unset repostring
for repo in fedora stable{,-rc} mainline{-wo-mergew,} next; do
    repostring="${repostring} --repofrompath=kvr-${repo},https://download.copr.fedorainfracloud.org/results/@kernel-vanilla/${repo}/fedora-\${distro}-x86_64/"
    for distro in ${dists[*]} ; do
   	 queryresult="$(eval dnf repoquery ${repostring} --disablerepo=* --enablerepo=kvr-* --latest-limit=1 -q kernel --arch x86_64 --qf '%{version}-%{release}')"
     	 printf '%-20s %-10s %s\n' "${repo}" "${distro}" "${queryresult:-lookup failed}"
    done
done

Developers behind the effort and point of contact

The Linux kernel vanilla repositories for Fedora are maintained by Thorsten Leemhuis (aka "knurd"); the SRPMs are based on those used to build Fedora’s kernel, but maintainers of the latter are not involved in these repositories.

For any feedback or questions regarding the kernel vanilla repositories contact Thorsten Leemhuis (aka "knurd").

What’s the goal of these repositories? And are these kernels as good as Fedora’s?

These and many other questions are answered in the FAQ about the Linux kernel vanilla repositories for Fedora Linux.