What are the kernel-core, kernel-modules, and kernel-modules-extras packages?

Updated

Overview

Due to a desire for a smaller footprint in Cloud Red Hat Enterprise Linux (RHEL) and Fedora deployments, the kernel package was broken into additional packages: a "meta" package, kernel, and two subpackages, kernel-core and kernel-modules.

What do the packages provide?

The kernel meta-package offers a backwards compatible method of interacting with the kernel packages via rpm and dnf. The kernel-core offers a stripped-down version of the traditional kernel package; in RHEL 7 and below, the kernel package included the binary image of the kernel, all initramfs-related objects to bootstrap the system, and all the modules we ship. kernel-core has the kernel image, boot strapping objects, but roughly half of the modules and includes those deemed "necessary" for a system to boot. kernel-modules provides all the additional kernel modules which typically would be found in the kernel package in older versions of RHEL. kernel-modules-extra provides largely drivers for more obscure hardware and lesser used network scheduling policies and algorithms.

Which packages will I need?

  • For regular bare metal install, all three subpackage rpms will be installed, kernel-core, kernel-modules, kernel-modules-extra.
  • On cloud vendors VMs: only the kernel-core will need to be installed.

What modules are provided in the kernel-core package?

  • Use the following command to list all module files in the kernel-core package:
# rpm -ql kernel-core | grep xz$

The above can be piped to grep to determine if a specific module is in the package, for example:

# rpm -ql kernel-core | grep xz$ | grep <MODULE_NAME>
Category
Components
Article Type