English Chinese (Simplified)
Manually Upgrading the Kernel
indexterm:[kernel,upgrading the kernel]indexterm:[kernel,package]indexterm:[kernel,RPM package]indexterm:[package,kernel RPM] The {MAJOROS} kernel is custom-built by the {MAJOROS} kernel team to ensure its integrity and compatibility with supported hardware. Before a kernel is released, it must first pass a rigorous set of quality assurance tests.
{MAJOROS} kernels are packaged in the RPM format so that they are easy to upgrade and verify using the [application]*DNF* or [application]*PackageKit* package managers. [application]*PackageKit* automatically queries the DNF repositories and informs you of packages with available updates, including kernel packages.
This chapter is therefore *only* useful for users who need to manually update a kernel package using the [command]#rpm# command instead of [command]#dnf#. indexterm:[kernel,installing kernel packages]indexterm:[installing the kernel]
Use DNF to install kernels whenever possible
Whenever possible, use either the [application]*DNF* or [application]*PackageKit* package manager to install a new kernel because they always *install* a new kernel instead of replacing the current one, which could potentially leave your system unable to boot.
indexterm:[kernel,installing kernel packages] For more information on installing kernel packages with [application]*DNF*, see xref:package-management/DNF.adoc#sec-Updating_Packages[Updating Packages].
Overview of Kernel Packages
indexterm:[kernel,kernel packages]indexterm:[kernel package,kernel,for single, multicore and multiprocessor systems]indexterm:[packages,kernel,for single, multicore and multiprocessor systems]indexterm:[kernel package,kernel-devel,kernel headers and makefiles]indexterm:[packages,kernel-devel,kernel headers and makefiles]indexterm:[kernel package,kernel-headers,C header files files]indexterm:[packages,kernel-headers,C header files files]indexterm:[kernel package,linux-firmware,firmware files]indexterm:[packages,linux-firmware,firmware files]indexterm:[kernel package,perf,firmware files]indexterm:[packages,perf,firmware files] {MAJOROS} contains the following kernel packages:
[package]*kernel* — Contains the kernel for single, multicore and multiprocessor systems.
[package]*kernel-debug* — Contains a kernel with numerous debugging options enabled for kernel diagnosis, at the expense of reduced performance.
[package]*kernel-devel* — Contains the kernel headers and makefiles sufficient to build modules against the [package]*kernel* package.
[package]*kernel-debug-devel* — Contains the development version of the kernel with numerous debugging options enabled for kernel diagnosis, at the expense of reduced performance.
[package]*kernel-headers* — Includes the C header files that specify the interface between the Linux kernel and user-space libraries and programs. The header files define structures and constants that are needed for building most standard programs.
[package]*linux-firmware* — Contains all of the firmware files that are required by various devices to operate.
[package]*perf* — This package contains supporting scripts and documentation for the [application]*perf* tool shipped in each kernel image subpackage.
[package]*kernel-abi-whitelists* — Contains information pertaining to the {MAJOROS} kernel ABI, including a lists of kernel symbols that are needed by external Linux kernel modules and a [package]*dnf* plug-in to aid enforcement.
[package]*kernel-tools* — Contains tools for manipulating the Linux kernel and supporting documentation.
Preparing to Upgrade
indexterm:[boot media]indexterm:[kernel,upgrading,preparing]indexterm:[kernel upgrading,preparing]indexterm:[kernel,upgrading,working boot media] Before upgrading the kernel, it is recommended that you take some precautionary steps.