In this tutorial, we are going to learn how to upgrade Linux Kernel to 5.17 mainline release on Ubuntu 20.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.17 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.17
- Introduction of new AMD P-state subsystem for future AMD CPUs that provide performance boost.
- Introduction of page-table check feature to better protect the GNU/Linux system from threats.
- It introduces boot time memtest memory tester to the mk68k architecture.
- introduces an alternative way to implement loops in BPF programs .
- It adds support for tracking forced-idle time to the core scheduling feature and adds support to offloading traffic-control actions on network devices.
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.17 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 lets check the Linux kernel we are having with the following command.
uname -r 5.4.0-97-generic
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.17/amd64/linux-headers-5.17.0-051700_5.17.0-051700.202203202130_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.17/amd64/linux-headers-5.17.0-051700-generic_5.17.0-051700.202203202130_amd64.deb
Sample output will look like this:
#output linux-headers-5.17.0-051700 100%[=========================================>] 2.82M --.-KB/s in 0.08s 2022-03-21 18:01:21 (35.4 MB/s) - ‘linux-headers-5.17.0-051700-generic_5.17.0-051700.202203202130_amd64.deb’ saved [2957866/2957866]
Note the difference between those headers
3. Download Linux kernel Modules
Linux kernel 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.17/amd64/linux-modules-5.17.0-051700-generic_5.17.0-051700.202203202130_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.17/amd64/linux-image-unsigned-5.17.0-051700-generic_5.17.0-051700.202203202130_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 20.04
To install Linux Kernel 5.17, 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.4.0-97-generic to 5.17.0-051700-generic, the latter being the latest release.