In this tutorial, we are going to learn how to upgrade Linux Kernel to 5.18 mainline release on Ubuntu 22.04.
Linux Kernel is a free and open-source, monolithic, modular, multitasking Unix-like operating system. It is the main component of a Linux operating system and is the core interface between the computer’s hardware and its processes. It makes communication possible between computer hardware and processes running on it and it manages resources effectively.
Linux 5.18 mainline was released recently by Linux Torvalds with better new features to try out. The mainline tree is maintained by Linus Torvalds and It is where all new features are added and releases always come from.
Notable features on Linux Kernel 5.18
- Introduction of schedular updates around NUMA balancing that can further enhance the performance of AMD EPYC servers.
- Support for Intel Hardware feedback interface whih is now merged with intel’s new HFI driver for Hybrid processor.
- Intel software Defined Silicone has been merged to that controversial Intel CPU feature about allowing the activation of extra silicone features using the cryptographic-signed keys.
- Introduction of Intel Indirect Branch Tracking IBT which is part of Intel control flow enforcement technology with tiger lake CPUs.
Table of Contents
- Run updates for your system
- Check the current version of Linux kernel you are running
- Download Linux kernel headers from Ubuntu Mainline
- Download Linux Kernel image
- Download modules required to build the kernel
- Install new kernel
- Reboot the system
Upgrade Linux Kernel to 5.18 release
1. Run system update
The first thing to do is to run system updates on our Ubuntu 20.04 server. Use the following command on your terminal.
$ sudo apt update && apt upgrade -y
When upgrades and updates are complete, we can now begin to download headers, modules, and images.
Before we can proceed let’s check the Linux kernel we are having with the following command.
uname -r 5.15.0-25-generic
Ubuntu 22.04 comes with a default Linux 5.15
2. Download Linux kernel Headers.
Linux kernel headers is a package providing the Linux kernel headers. These are part of the Kernel even though shipped separately. The headers act as an interface between internal kernel components and also between userspace and the kernel.
To download this package header, head over to the Ubuntu PPA mainline repository and make downloads for your amd64 system. We are going to download the following header files.
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.18-rc1/amd64/linux-headers-5.18.0-051800rc1_5.18.0-051800rc1.202204032230_all.deb
Another header file to download is this one. Download the generic one here.
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.18-rc1/amd64/linux-headers-5.18.0-051800rc1-generic_5.18.0-051800rc1.202204032230_amd64.deb
The sample output will look like this:
#output --2022-04-26 07:18:57-- https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.18-rc1/amd64/linux-headers-5.18.0-051800rc1-generic_5.18.0-051800rc1.202204032230_amd64.deb Resolving kernel.ubuntu.com (kernel.ubuntu.com)... 18.104.22.168 Connecting to kernel.ubuntu.com (kernel.ubuntu.com)|22.214.171.124|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 3063028 (2.9M) [application/x-debian-package] Saving to: ‘linux-headers-5.18.0-051800rc1-generic_5.18.0-051800rc1.202204032230_amd64.deb’ linux-headers-5.18.0-051800rc1-gene 100%[=================================================================>] 2.92M --.-KB/s in 0.1s 2022-04-26 07:18:57 (29.3 MB/s) - ‘linux-headers-5.18.0-051800rc1-generic_5.18.0-051800rc1.202204032230_amd64.deb’ saved [3063028/3063028]
Note the difference between those headers
3. Download Linux kernel Modules
Linux kernels are pieces of code that can be loaded and unloaded into the kernel upon demand. They extend the functionality of the kernel without the need to reboot the system. A module can be configured as built-in or loadable. To dynamically load or remove a module, it has to be configured as a loadable module in the kernel configuration.
To download the Linux Kernel module run the following command on your terminal.
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.18-rc1/amd64/linux-modules-5.18.0-051800rc1-generic_5.18.0-051800rc1.202204032230_amd64.deb
Next is to download the image.
3. Download Linux Kernel Image
Linux kernel image is a snapshot of the Linux kernel that is able to run by itself after giving the control to it. For example, whenever you need to boot the system up, it will bootload an image from the hard disk.
To download the Linux Kernel image 5.17 run the following command on your terminal.
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.18-rc1/amd64/linux-image-unsigned-5.18.0-051800rc1-generic_5.18.0-051800rc1.202204032230_amd64.deb
Make sure you are seeing the image from the downloads if you do an ls.
Now that we have finished downloading images, modules, and headers it is now time to install them.
4. Install Linux Kernel on Ubuntu 22.04
To install Linux Kernel 5.18, let’s run the following command;
$ sudo dpkg -i *.deb
Wait for the process to complete before restarting the system.
After you have restarted the system, check the Linux Kernel release installed.
$ uname -r
The output you will now get is like this;
As you can see we have successfully upgraded from 5.15.0-25-generic to 5.18.0-051800rc1-generic, the latter being the latest release.
check out this also: How to Upgrade Linux Kernel to 5.17 Release on Ubuntu 20.04