Upgrading Ubuntu to Linux kernel 5.8: A case for and against it

Thinking about upgrading your Ubuntu machines to Linux kernel 5.8? Jack Wallen explains the pros and cons.

Upgrading Ubuntu to Linux kernel 5.8: A case for and against it

Linux kernel 5.8 has been out for a bit of time now and has been hailed by Linus Torvalds as the biggest release yet. Although it might be the biggest release to date, it's probably not the most significant. Sure, there's support for new hardware found in the kernel (such as Qualcomm Adreno 405/640/650, AMDGPU TMZ, Intel Tiger Lake SAGV, Arm SoC, AMD Energy Driver, POWER10 CPUs, and more), but what other features might lead you to want to upgrade to the latest, greatest Linux kernel and how do you do it? Let's find out.

SEE: Linux service control commands (TechRepublic Premium)

What you'll need

Before we get into why you might want to upgrade, you'll want to know what you need in order to make the upgrade possible. Since I'm demonstrating on my server distro of choice--Ubuntu Server--you'll need a running instance of that particular platform. To be more specific, you'll want an LTS release, probably no older than 18.04. You'll also need a user with sudo privileges.

Why upgrade to Linux 5.8?

With the what out of the way, let's take a look at the why. Outside of the newly added hardware support, there's not a whole lot of exciting features to be found in this kernel. The biggest draw will probably be the improvement in the exFAT driver and a number of system improvements that equate to a much-improved performance for the kernel. 

Another factor, that doesn't directly lead to enhanced performance, is that a great deal of effort has gone into cleaning up the kernel code, which is interesting, given there are over 800,000 new lines of code and over 14,000 changed files to this kernel. In fact, roughly 20% of all the files in the kernel repository were modified for this release. 

One interesting addition to the Linux kernel is the Kernel Concurrency Santizier, which is a sampling watchpoint-based dynamic race detector that can detect arising flaws in kernel code. As of Linux kernel 5.8 KCSAN is only enabled for x86 hardware.

Why not upgrade to Linux 5.8?

What about the why not? There's one major reason why you should hold off on upgrading to the Linux 5.8 on Ubuntu. The Ubuntu distribution uses the Ubuntu Linux Kernel that includes Ubuntu-specific patches. So when you upgrade to a non-Ubuntu-specific kernel, you miss out on those Ubuntu-specific tweaks to the kernel. 

Another issue with using the mainline kernel is that those kernels are unsigned, which means they cannot be installed on UEFI- or Secure Boot-enabled systems. So, the only way to install Linux kernel 5.8 or any other mainline kernel is to disable Secure Boot.

Are you sufficiently swayed from wanting to install Linux kernel 5.8? No? Fine. Let's install it. I would, however, recommend you do this on a test machine. Do not install a mainline kernel on a production machine--ever. 

How to install Linux kernel 5.8 on Ubuntu 20.04

Now to the how. If you're wanting to install Linux kernel 5.8 on your Ubuntu system, maybe even only for testing purposes, let's make it so. 

The first thing to do is log in to your Ubuntu instance and download four required files with the commands:

wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.8.1/amd64/linux-headers-5.8.1-050801_5.8.1-050801.202008111432_all.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.8.1/amd64/linux-headers-5.8.1-050801-generic_5.8.1-050801.202008111432_amd64.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.8.1/amd64/linux-image-unsigned-5.8.1-050801-generic_5.8.1-050801.202008111432_amd64.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.8.1/amd64/linux-modules-5.8.1-050801-generic_5.8.1-050801.202008111432_amd64.deb

With those four files downloaded, install the kernel files with the command:

sudo dpkg -i *.deb

When the installation command completes, reboot the machine with the command:

sudo reboot

Once the reboot completes, log in and issue the command:

uname -r

You should see kernel 5.8.1-050801-generic listed (Figure A).

Figure A

kernel58.jpg

We've successfully upgraded to Linux kernel 5.8 on Ubuntu 20.04.

Kick the tires of Linux kernel 5.8 on your testing platform to see if you notice an increase in performance. Even if you do, I wouldn't recommend upgrading to this kernel on production machines. Instead, wait for the official kernel to upgrade. It'll take some time as Ubuntu upgrades their kernels very slowly--for example, an updated instance of Ubuntu 20.04 is running kernel 5.4.

Although you might be tempted to run the shiny new kernel on your production machines, remember the old adage, "slow and steady wins the race."

Also see

ubuntuhero.jpg

Image: Jack Wallen