Kernel basics – UEK and RHCK – Exploring the Various Boot Options and Kernels in Oracle Linux

Kernel basics – UEK and RHCK

Before we get started with UEK and RHCK, let’s understand what is a Linux kernel. A Linux kernel release refers to an updated version of the core component of the Linux operating system. Its main function is to act as a bridge between the hardware and software layers of a computer system. The Linux kernel is a collaborative development effort by a large community of developers worldwide, with Linus Torvalds as the original creator and official maintainer of the mainline kernel. These kernel updates are introduced periodically to provide new features, improvements, bug fixes, security patches, and hardware support.

Linux kernel releases are assigned a version number that consists of three components: major version, minor version, and patch level. For instance, a kernel version is represented as X.Y.Z, where X represents the major version, Y is the minor version, and Z is the patch level. The major version is usually incremented for significant changes that may affect compatibility, while the minor version and patch level represent incremental updates and bug fixes.

Linux kernel releases are distributed as source code, and various distributions or operating systems based on Linux typically package and distribute their own versions of the kernel, incorporating it into their respective releases. In addition, users who want to compile and install the kernel directly on their systems can access the source code. The following table shows the Linux kernel mainline releases for Linux 7, 8, and 9.

Table 3.1 – Available Kernel options by release

Kernel basics – UEK and RHCK

With a fresh installation of Oracle Linux, the Unbreakable Enterprise Kernel (UEK) is the default. However, in some cases, you may want to switch to the Red Hat Compatible Kernel (RHCK).

The default kernel might not be the correct version to use in some scenarios:

  • UEK releases are based on newer kernel releases than the RHCK version, which is the standard for Red Hat servers. With Oracle Linux, you have the option to use the UEK, which provides a more up-to-date kernel release.
  • The current kernel version might be incompatible with your particular hardware. A UEK system will boot on new hardware, while the older RHCK will not. An example of this is UEK 7, which supports the Microsoft Azure Network Adapter (MANA), whereas UEK 6 does not.
  • Suppose a UEK beta or technical preview release is installed on the system. In that case, UEK needs to be demoted to ensure that the kernel is used only if intentionally and manually selected as the boot kernel by an administrator.
  • The UEK for Oracle Linux provides many advantages, such as significant performance improvements and new features. The Linux operating system is a modular system in which the kernel interacts with the hardware and controls and schedules access to resources on behalf of applications. Most applications run in what is called user space and call only a stable set of system libraries to ask for kernel services. The exceptions are applications that directly access the kernel, most commonly security applications.
  • Installing the UEK does not change system libraries such as glibc, which is the interface that nearly all applications, including Oracle Database, use. The glibc version is the same whether you run Oracle Linux with the UEK or with the RHCK. This is not limited to just gloc, but is the case for all system libraries, such as libssl, libcurl, and libcrypt.

Note

Multiple versions of the UEK may be available for any baseline operating system release. Choosing the version of the UEK is up to the application team and must reflect any compatibility requirements.

These examples and similar cases require you to switch between kernel types. In older releases, managing the default kernel was performed by configuring the GRUB boot loader. However, with Oracle Linux 8 and later, you should use the grubby command to control and manage the configuration for booting the kernel. grubby is part of the Grand Unified Bootloader version 2 (GRUB 2) boot loader, which is available from the GNU project. GRUB is the default bootloader for many Linux distributions on the market. After loading it into memory, it transfers control to the operating system kernel.

GRUB 2 is the default bootloader program used on Oracle Linux, and it can load many different operating systems, including Microsoft Windows.

Getting ready

Let’s start by looking deeper at the boot process to better understand it.

The boot process

You have an understanding of how Oracle Linux boot options help you troubleshoot problems encountered when booting the system. This knowledge is beneficial when using new hardware or cloud environments.

As an Oracle Linux system boots, it performs many tasks that may change depending on the type of firmware your hardware uses to handle the system boot. It could be Unified Extensible Firmware Interface (UEFI) firmware or legacy BIOS firmware. The legacy Basic Input/Output System (BIOS) firmware is a legacy boot process that uses BIOS firmware. The BIOS maintains a list of bootable devices and the order of devices from which a boot is attempted. This data is stored in a Complementary Metal-Oxide Semiconductor (CMOS) chip on the system, requiring a battery to keep the settings when the system is not powered. Systems using a BIOS boot process are generally old systems, although even a modern system may still use a BIOS. A more popular option on modern servers is UEFI-based firmware. It also manages the boot process on a server but stores the boot process (initialization and startup) in a boot loader executable .efi file in a particular partition on the system’s drive. Using the .efi file gives a user more control of the boot process, including the ability to take advantage of new security features. An example of a new security feature is Secure Boot, which is covered in this chapter.

Leave a Reply

Your email address will not be published. Required fields are marked *

All Rights Reserved 2022-2024