Merge #396 Installing Koji kernel. Booting specific kernel by default.

This commit is contained in:
Ankur Sinha 2022-01-20 16:36:06 +00:00
commit 6d30f66d13
5 changed files with 130 additions and 0 deletions

View file

@ -72,10 +72,12 @@
** xref:upgrading-fedora-online.adoc[Upgrading Fedora using package manager] ** xref:upgrading-fedora-online.adoc[Upgrading Fedora using package manager]
* xref:kernel/overview.adoc[Kernel and booting] * xref:kernel/overview.adoc[Kernel and booting]
** xref:kernel/booting.adoc[Booting]
** xref:kernel/troubleshooting.adoc[Troubleshooting] ** xref:kernel/troubleshooting.adoc[Troubleshooting]
** xref:kernel/build-custom-kernel.adoc[Building a Custom Kernel] ** xref:kernel/build-custom-kernel.adoc[Building a Custom Kernel]
** xref:kernel/howto-kernel-testday.adoc[Guide for Kernel Test Days] ** xref:kernel/howto-kernel-testday.adoc[Guide for Kernel Test Days]
** xref:debug-dracut-problems.adoc[How to debug Dracut problems] ** xref:debug-dracut-problems.adoc[How to debug Dracut problems]
** xref:kernel/installing-koji-kernel.adoc[Installing a kernel from Koji]
* Virtualization * Virtualization
** xref:getting-started-with-virtualization.adoc[Getting started with virtualization (libvirt)] ** xref:getting-started-with-virtualization.adoc[Getting started with virtualization (libvirt)]

View file

@ -0,0 +1,44 @@
[[booting_specific_kernel_default]]
== Setting an installed kernel to boot by default
To set a specific installed kernel to boot by default, first check the kernels installed on the system.
----
sudo ls /boot | grep vmlinuz
----
Identify the kernel to be set to boot by default.
Use the following command to set the default kernel to boot:
----
sudo grubby --set-default /boot/vmlinuz-<version>.<release>.<arch>
----
Here is a sample output (on an `x84_64` architecture system):
----
sudo ls /boot | grep vmlinuz
vmlinuz-0-rescue-c722f5f7d614446b99c39b846c2bb76c
vmlinuz-5.12.18-200.fc33.x86_64
vmlinuz-5.8.15-301.fc33.x86_64
----
If `vmlinuz-<version>.<release>.<arch>` is chosen to be set as the default, we issue the following command:
----
sudo grubby --set-default /boot/vmlinuz-<version>.<release>.<arch>
----
For the above scenario, the command will look like so
----
sudo grubby --set-default /boot/vmlinuz-5.12.18-200.fc33.x86_64
----
[[sect-references]]
=== References:
* https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/kernel-module-driver-configuration/Working_with_the_GRUB_2_Boot_Loader/[Fedora Rawhide Docs :: Working with the GRUB 2 Boot Loader]

View file

@ -112,6 +112,7 @@ If you have used this configuration, you can disable it in individual DNF comman
If you use a GUI update application which does not allow you to specify packages to exclude when they run, this method can be used. If you use a GUI update application which does not allow you to specify packages to exclude when they run, this method can be used.
[[sect-using-dnf-plugin]]
=== Using the DNF Versionlock plugin === Using the DNF Versionlock plugin
You can also use the DNF `versionlock` plugin to limit the packages that are included in a transaction. You can also use the DNF `versionlock` plugin to limit the packages that are included in a transaction.

View file

@ -0,0 +1,4 @@
Booting
=======
include::{partialsdir}/proc_booting-specific-kernel-default.adoc[]

View file

@ -0,0 +1,79 @@
= Installing kernel from Koji
:description: A quick guide on installing a kernel from the Koji repository.
Koji is the build system Fedora developers use to build software for inclusion into Fedora.
If there is a need to install a kernel that is not currently available in the Fedora repositories,
these can be obtained from the Koji repository.
== Check Koji (Fedora build system) for archived builds
Check the https://koji.fedoraproject.org/koji/search?match=glob&type=build&terms=kernel-*[Koji] archive for the historical builds.
It is possible to use different searches or expressions to help narrow down on a specific kernel build.
Once the specific kernel has been identified, there are several ways to download and install it.
== Download using the browser and install
One way is to download the identified packages using the browser and installing them.
Download the following package rpms for a specific kernel version into a directory
(best to create a new directory and just have the downloaded rpms in it.:
----
kernel-<version>.<release>.<arch>.rpm
kernel-core-<version>.<release>.<arch>.rpm
kernel-modules-<version>.<release>.<arch>.rpm
----
then, open a command prompt and change to this directory.
Execute the command to install the kernel:
----
sudo dnf install *
----
== Download and install a kernel using the koji client
=== Install the koji client
The koji client makes the process of installing a specific kernel much easier from the command line.
Use this command to install the client:
$ sudo dnf install koji
=== Download and install the kernel
Below is a one-line command that creates a new unique temporary directory,
downloads kernel RPMs to it and installs them.
This assumes we are working with the `x86_64` architecture.
cd $(mktemp -d) \
&& koji download-build --arch=x86_64 --arch=noarch kernel-n.nn.nn-nnn.fcnn \
&& sudo dnf install *
This eliminates the need to clean up after installation and the risk of installing unwanted rpms accidentally.
The following part of the above command downloads the kernel
and its dependencies for the given architecture and kernel version.
koji download-build --arch=[arch] kernel-<version>.<release>
where [arch] indicates the architecture i.e. `x86_64`
== Additional Steps:
The following additional steps are often useful:
* Set the default boot option - so this boots automatically subsequently
See xref:kernel/booting.adoc[quick-doc on setting a specific kernel to boot by default]
* Add a versionlock to ensure this version is not deleted when kernel updates are installed
See xref:dnf.adoc#sect-using-dnf-plugin[quick-doc on using the dnf versionlock plugin]
[[sect-references]]
== References
. https://fedoramagazine.org/install-kernel-koji/#comment-472889[Fedora Magazine article: How to install a kernel from koji]