Download ubuntu kernel

Download ubuntu kernel DEFAULT

The Kernel is the important component of any operating system as it manages the system resources, and processes and facilitates the communication between hardware and software. The Linux Kernel gained popularity over the years and now it is part of most desktop and mobile operating systems. The new Linux Kernel version is released after a few months with bug fixes and important updates. As of writing this post, the latest Linux Kernel version is 5.10.

Installing the latest Linux Kernel on Ubuntu and Linux Mint

Complete the below-given steps to install the latest Linux Kernel on Ubuntu and Linux Mint:

Step 1: Check the installed version

Fire up the terminal and run the below-given command to check the already installed version on your system.

$ uname-r

The Linux Kernel 5.8.0 is installed on my Ubuntu system.

Step 2: Download the latest Linux Kernel

Next, download the latest Linux Kernel for Ubuntu and Linux Mint. You can download it either from the official website or from the terminal. If you wish to download the Linux Kernel files from the official website, then visit the Kernel Ubuntu official website ( and download the Linux Kernel version 5.10 generic files.

You have to download the following files:

  1. linux-headers-5.10.0-051000-generic_5.10.0-051000.202012132330_amd64.deb (
  2. linux-headers-5.10.0-051000_5.10.0-051000.202012132330_all.deb (
  3. linux-image-unsigned-5.10.0-051000-generic_5.10.0-051000.202012132330_amd64.deb (
  4. linux-modules-5.10.0-051000-generic_5.10.0-051000.202012132330_amd64.deb (

Alternatively, to download the Linux Kernel files from the command line using the wget command, open the terminal and run the below-given commands:

$ wget

D:\Kamran\Feb\04\linux kernel\Article\Pics\3 final.png

$ wget

D:\Kamran\Feb\04\linux kernel\Article\Pics\4 final.png

$ wget

D:\Kamran\Feb\04\linux kernel\Article\Pics\5 final.png

$ wget

D:\Kamran\Feb\04\linux kernel\Article\Pics\6 final.png

Once all the Debian files for the generic version are downloaded, navigate to the directory where the downloaded files are saved.

$ cd directory/path

If the downloaded files are saved in the Home directory, then you can skip this step.

Step 3: Install the Linux Kernel from the downloaded Debian files

Next, install the latest Linux Kernel from the Debian files with the command below:

$ sudodpkg-i*.deb

D:\Kamran\Feb\04\linux kernel\Article\Pics\7 final.png

Step 4: Verify the Linux Kernel installation

Once the Linux Kernel is successfully installed, reboot the system using the appended command:

$ reboot

Finally, when the system has restarted, verify the Linux Kernel installation and check the installed version with the command below:

$ uname-r

D:\Kamran\Feb\04\linux kernel\Article\Pics\8 final.png

The output shows that the Linux Kernel 5.10 is successfully installed on my Ubuntu system.


Created by Linus Torvalds, Linux Kernel is a part of many Linux-based operating systems. The new version of Linux Kernel is released after every few months with important new updates and bug fixes. This article explains thoroughly how to install the Linux Kernel 5.10 installation.



By default, Ubuntu systems run with the Ubuntu kernels provided by the Ubuntu repositories. However it is handy to be able to test with unmodified upstream kernels to help locate problems in Ubuntu kernel patches, or to confirm that upstream has fixed a specific issue. To this end we now offer select upstream kernel builds. These kernels are made from unmodified kernel source but using the Ubuntu kernel configuration files. These are then packaged as Ubuntu .deb files for simple installation, saving you the time of compiling kernels, and debugging build issues.

These kernels are not supported and are not appropriate for production use.

How do I install an upstream kernel?

Following these steps in order will help you successfully test an upstream kernel.

Prepare OS to install an upstream kernel

First, if one is using select proprietary or out-of-tree modules (e.g. bcmwl, fglrx, NVIDIA proprietary graphics drivers, VirtualBox, etc.) unless there is an extra package available for the version you are testing, you will need to uninstall the module first, in order to test the mainline kernel. If you do not uninstall these modules first, then the upstream kernel may fail to install, or boot.

Choose the proper upstream kernel files

The build directories are nicely organized into per architecture groups. For example, if one is using a 64-bit/amd64 architecture and wants the generic kernel version you would want those files marked A, from the appropriate group.
If you want the low latency version, B.

Build for amd64 succeeded (see BUILD.LOG.amd64): AB linux-headers-4.19.0-041900_4.19.0-041900.201810221809_all.deb A linux-headers-4.19.0-041900-generic_4.19.0-041900.201810221809_amd64.deb B linux-headers-4.19.0-041900-lowlatency_4.19.0-041900.201810221809_amd64.deb A linux-image-unsigned-4.19.0-041900-generic_4.19.0-041900.201810221809_amd64.deb B linux-image-unsigned-4.19.0-041900-lowlatency_4.19.0-041900.201810221809_amd64.deb A linux-modules-4.19.0-041900-generic_4.19.0-041900.201810221809_amd64.deb B linux-modules-4.19.0-041900-lowlatency_4.19.0-041900.201810221809_amd64.deb

Download upstream kernel files from the Ubuntu archive

  • Few things can compromise the security of a Linux system worse than a compromised kernel

    • We urge you to carefully verify the integrity of any and all downloaded kernel packages as explained below.

The Mainline kernel archive has a directory for each tagged release version, with packages for the generic and lowlatency configurations inside.

  • Note: If you are testing to isolate a bug or regression, please do not use the daily folder. Instead, use the latest mainline kernel at the top from the link above.

Install all upstream kernel files

Execute the following command against each of the downloaded files in a terminal of your choosing:

sudo dpkg -i FILENAME.deb

If no errors show up, reboot while holding Shift then select "Advanced options for Ubuntu", then select and boot into the new entry that looks something like:

*Ubuntu with Linux 5.5.13-050513-generic

Problems installing upstream kernels


Some errors that may occur while attempting to install an upstream kernel are the result of VirtualBox being installed. For example,

'''Error!''' Bad return status for module build on kernel: 3.7.0-030700rc2-generic (x86_64) Consult /var/lib/dkms/virtualbox/4.1.18/build/make.log for more information.

As per above, you need to either install the modules-extra package, if available, or uninstall VirtualBox.

Unsatisfied dependencies

A failure to install can also result from the installed version of Ubuntu lacking the newer packages the upstream kernel is dependent on for the install to succeed. For example,

...depends on libssl1.1 (>= 1.1.0); however: Package libssl1.1 is not installed.

If you already have the package referenced by the error message (in this instance, libssl1.1) installed but the version number is beneath the new kernel's requirements, then you would first need to upgrade your Ubuntu installation to a newer release. However, if libssl1.1 is not installed at all, and the version that comes with your release is sufficient, then install libssl1.1.

Other install errors

If for some reason the kernel you attempted to build failed, and it's not due to the above, then continue to test the next most recent kernel version until you can test to the issue.

Uninstalling upstream kernels

The upstream kernels have their own ABI namespace, so they install side by side with the stock Ubuntu kernels (each kernel has a separate directory under /lib/modules/VERSION for example). This means that you can keep several mainline and Ubuntu stock kernels installed at the same time and select the one you need from the GRUB boot menu.

If you want to uninstall an upstream kernel once your need for installing it has abated, execute the following to find the exact name of the kernel packages you need to uninstall:

dpkg -l | grep "linux\-[a-z]*\-"

and then execute the following to uninstall them:

sudo apt purge ''<KERNEL_PACKAGES_TO_REMOVE>''

Remember that several packages can belong to one kernel version; common headers plus the architecture specific headers, image and modules are to be expected at a minimum.

Mainline kernel build toolchain

These kernels are built with the toolchain (gcc, g++, etc.) from either the most recent Ubuntu stable release or development release, at the discretion of the Kernel Team. (21.10 "Impish Indri" and 22.04 "J. J." respectively, as of October 2021) Therefore, out-of-tree kernel modules you already have built and installed for use with your release kernels on LTS releases are not likely to work with the mainline builds (unless the LTS release is also the most recent release, a/k/a from Late April to Late October in even-numbered years).

Mainline kernel mapping to Ubuntu kernel

The Ubuntu kernel is not bit-for-bit the same as the mainline. However, one may find the upstream release that the Ubuntu kernel is based on via the Ubuntu to mainline mapping table.

Support (BEWARE: there is none)

The mainline kernel builds are produced for debugging purposes and therefore come with no support. Use them at your own risk.

Kernel source code trees

In each directory of the above-linked archive there is a file named <kbd>COMMIT</kbd> which defines the base commit in Linus Torvalds' master tree from which they were built. The patches in the same directory ????-* are applied on top of this commit to make the build tree. A mirror of Linus' tree is available from .

First download the COMMIT and patch files ????-* from the mainline build in question to a temporary directory:

git clone git:// mainline && cd mainline git checkout -b $(cat ${MAINLINE}/COMMIT) git am ${MAINLINE}/????-*

Verifying mainline build binaries

To provide verification that the published builds are 1. built by the Ubuntu mainline build system, and 1. are bit-for-bit identical copies of the files on the server,

the individual files are checksummed and the results are published as a file named <kbd>CHECKSUMS</kbd> in the same directory. This file is in turn signed by the mainline builder using the GPG key below, which can be validated against its record from the Ubuntu Keyserver.

pub 2048R/17C622B0 2008-05-01 Key fingerprint = 60AA 7B6F 3043 4AE6 8E56 9963 E50C 6A09 17C6 22B0 uid Kernel PPA <[email protected]>

The verification can be done by running the following commands:

  1. Import the above public key to your keyring (if you haven't already done that): $ gpg --keyserver hkps:// --recv-key "60AA7B6F30434AE68E569963E50C6A0917C622B0"
  2. Download the CHECKSUMS and CHECKSUMS.gpg files from the build directory and verify if the CHECKSUMS is signed with the above key: $ gpg --verify CHECKSUMS.gpg CHECKSUMS gpg: Signature made .... using RSA key ID 17C622B0 gpg: Good signature from "Kernel PPA <[email protected]>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner.
  3. Verify the checksums of downloaded deb files: $ shasum -c CHECKSUMS 2>&1 | grep 'OK$'You should get a line ending with "OK" for each of downloaded deb file and each type of checksums that are given in the CHECKSUMS file.

Upstream kernel details

We currently build five sets of upstream kernels. All formal tags from Linus' tree and from the stable trees, plus:

  1. the daily tip of Linus' linux kernel source tree,

  2. the tip of the drm-next head of Dave Airlie's linux repository daily,

  3. the tip of the drm-intel-next head of Keith Packard's linux repository daily until 2012, after which it has been taken over by Daniel Vetter at, and in particular, the drm-intel-next branch,

  4. the tip of the master branch of the debloat-testing tree daily,
  5. tags from the combined v2.6.32.x.y tree (by StefanBader) which is v2.6.32.x with DRM from 2.6.33.y.

This makes these kernels closer to the Lucid kernels which are based on 2.6.32 kernels with DRM backported from the 2.6.33 series.

The tagged releases (as made by Linus and the stable maintainers) are found under a directory matching their tag name and which kernel configuration they were built with (<tag>-<series>).

Daily tip of the tree builds are found in the daily sub-directory named for the date they were made.

Each build directory contains the header and image .deb files for the generic flavour i386 and amd64 architectures, as well lowlatency.

Can I install and use a mainline kernel in a live environment?

No. One has two choices to use a mainline kernel:

  1. Install the mainline kernel in an installed environment, restart, and choose this newly installed kernel.
  2. Build a live environment with the new kernel in it. Given the amount of effort involved in doing this, it is easiest to use an installed OS to test the mainline kernel.
  1. Menards gear puller
  2. Devops tool kit
  3. 2010 yellow corvette

This page describes how to build the kernel.

The majority of users that are interested in building their own kernel are doing so because they have installed Ubuntu on their system and they wish to make a small change to the kernel for that system. In many cases the user just wants to make a kernel configuration change.

The purpose of this page is to give that user a minimum amount of information for them to meet the goal of making a simple change to the kernel, building it and installing their kernel. It is not intended to be the definitive guide to doing Ubuntu kernel development.

Build Environment

If you have not built a kernel on your system before, there are some packages needed before you can successfully build. You can get these installed with:

  • sudo apt-get build-dep linux linux-image-$(uname -r)

Unfortunately, the above does not install all of the necessary dependencies. The current Disco Dingo release requires the following additional packages.

  • sudo apt-get install libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf

If you are going to be using git, install it via:

The above command requires your system to have the correct lines in . For example, on Disco Dingo you should have:

  • deb-src disco main deb-src disco-updates main

Obtaining the source for an Ubuntu release

There are a number of different ways of getting the kernel sources. The two main ways will be documented here.

If you have installed a version of Ubuntu and you want to make changes to the kernel that is installed on your system, use the apt-get method (described below) to obtain the sources.

However, if you wish to get the most up to date sources for the Ubuntu release you are running and make changes to that, use the git method (described below) to obtain the sources.


The source code which generated a specific binary package may be obtained using the command. For example to obtain the source for the currently running kernel you can use the command:

  • apt-get source linux-image-unsigned-$(uname -r)


All of the Ubuntu Kernel source is maintained under . The source for each release is maintained in its own git repository on . To obtain a local copy you can simply git clone the repository for the release you are interested in as shown below.

  • git clone git://<release codename>.git

For example to obtain the Disco Dingo tree:

  • git clone git://

Modifying the configuration

This step can be skipped if no configuration changes are wanted. The build process will use a configuration that is put together from various sub-config files. The simplest way to modify anything here is to run:

  • chmod a+x debian/rules chmod a+x debian/scripts/* chmod a+x debian/scripts/misc/* LANG=C fakeroot debian/rules clean LANG=C fakeroot debian/rules editconfigs # you need to go through each (Y, Exit, Y, Exit..) or get a complaint about config later

This takes the current configuration for each architecture/flavour supported and calls menuconfig to edit its config file. The chmod is needed because the way the source package is created, it loses the executable bits on the scripts.

In order to make your kernel "newer" than the stock Ubuntu kernel from which you are based you should add a local version modifier. Add something like "+test1" to the end of the first version number in the file, before building. This will help identify your kernel when running as it also appears in . Note that when a new Ubuntu kernel is released that will be newer than your kernel (which needs regenerating), so care is needed when upgrading. NOTE: do not attempt to use CONFIG_LOCALVERSION as this _will_ break the build.

Building the kernel

Building the kernel is quite easy. Change your working directory to the root of the kernel source tree and then type the following commands:

  • LANG=C fakeroot debian/rules clean # quicker build: LANG=C fakeroot debian/rules binary-headers binary-generic binary-perarch # if you need linux-tools or lowlatency kernel, run instead: LANG=C fakeroot debian/rules binary

If the build is successful, a set of three .deb binary package files will be produced in the directory above the build root directory. For example after building a kernel with version "4.8.0-17.19" on an amd64 system, these three (or four) .deb packages would be produced:

  • cd .. ls *.deb linux-headers-4.8.0-17_4.8.0-17.19_all.deb linux-headers-4.8.0-17-generic_4.8.0-17.19_amd64.deb linux-image-4.8.0-17-generic_4.8.0-17.19_amd64.deb

on later releases you will also find a linux-extra- package which you should also install if present.

Testing the new kernel

Install the three-package set (on your build system, or on a different target system) with dpkg -i and then reboot:

  • sudo dpkg -i linux*4.8.0-17.19*.deb sudo reboot

Debug Symbols

Sometimes it is useful to have debug symbols built as well. Two additional steps are needed. First pkg-config-dbgsym needs to be installed. Second when executing the binary-* targets you need to add 'skipdbg=false'.

  • sudo apt-get install pkg-config-dbgsym LANG=C fakeroot debian/rules clean LANG=C fakeroot debian/rules binary-headers binary-generic binary-perarch skipdbg=false

See also

The above instructions provide a very simple recipe for obtaining the sources and then building them. If you are going to be doing more kernel development than simple configuration changes you may want to look at:


Compilation and install Linux Kernel 5.7 in Ubuntu 18.04,19.10, 20.04

Bash script for Ubuntu (and derivatives as LinuxMint) to easily (un)install kernels from the Ubuntu Kernel PPA.


Use this script at your own risk. Be aware that the kernels installed by this script are unsupported

Do not use this script if you don't have to or don't know what you are doing. You won't be covered by any security guarantees. The intended purpose by Ubuntu for the mainline ppa kernels is for debugging issues.

We strongly advise to keep the default Ubuntu kernel installed as there is no safeguard that at least one kernel is installed on your system.


If you want to automatically check for a new kernel version when you login:


Elevated privileges

This script needs elevated privileges when installing or uninstalling kernels.

Either run this script with sudo or configure the path to sudo within the script to sudo automatically

Example output

Install latest version:

Uninstall a version from a list


  • bash
  • gnucoreutils
  • dpkg
  • wget (since 2018-12-14 as kernel ppa is now https only)

Optional dependencies

  • libnotify-bin (to show notify bubble when new version is found)
  • bsdmainutils (format output of -l, -r with column)
  • gpg (to check the signature of the checksum file)
  • sha1sum/sha256sum (to check the .deb checksums)
  • sudo



Kernel download ubuntu

Mainline is a graphical tool to install the latest mainline Kernel in Ubuntu, Linux Mint, and derivatives.

Mainline (Ubuntu Mainline Kernel Installer) is an open-source fork of ukuu, which now is pay for use. It offers a simple interface with updated list of the “mainline” Kernels, allows to one-click install, remove, or purge Kernels in Ubuntu-based distributions.

Mainline features:

  • Fetches list of available kernels from Ubuntu Mainline PPA
  • Optionally watches and displays notifications when a new kernel update is available
  • Downloads and installs packages automatically
  • Display available and installed kernels conveniently
  • Install/remove kernels from gui
  • For each kernel, the related packages (headers & modules) are installed or removed at the same time

How to install Mainline in Ubuntu:

NOTE: The mainline kernels are provided by Ubuntu Kernel Team for testing and debugging purposes. They are not supported and are not appropriate for production use. You should only install these if they may fix a critical problem you’re having with the current kernel.

The software has an official PPA so far contains packages for Ubuntu 18.04, Ubuntu 19.10, Ubuntu 20.04, and derivatives.

1.) To add the PPA, open terminal from system application launcher and run command:

sudo add-apt-repository ppa:cappelikan/ppa

2.) Then check updates and install the tool via commands:

sudo apt update sudo apt install mainline


To remove the PPA, run command:

sudo add-apt-repository --remove ppa:cappelikan/ppa

To remove the Ubuntu Mainline Kernel Installer, run command:

sudo apt remove mainline
Ubuntu - How to install another Kernel

Ubuntu kernels from Canonical

At the core of the Ubuntu operating system is the Linux kernel, which manages and controls the hardware resources like I/O (networking, storage, graphics and various user interface devices, etc.), memory and CPU for your device or computer. It is one of the first software programs a booting device loads and runs on the central processing unit (CPU). The Linux kernel manages the system's hardware environment so other programs like the operating system's user space programs and application software programs can run well without modification on a variety of different platforms and without needing to know very much about that underlying system.

Watch the webinar - "Ubuntu 20.04 LTS: What's new in server?"

Identifying a kernel

The easiest way to determine the kernel you're running is to type on the terminal. For example:

This output provides important information about the kernel:

  • Canonical adds ""
  • Ubuntu kernel-release =
    • kernel version is , which is identical to upstream stable kernel version
    • is an obsolete parameter left over from older upstream kernel version naming practices
    • application binary interface (ABI) bump for this kernel
    • upload number for this kernel
    • is kernel flavour parameter, where is the default Ubuntu kernel flavour
  • Mainline kernel-version =

Kernel and OS releases

Canonical provides long-term support (LTS) kernels for Ubuntu LTS releases. Canonical also provides interim operating system releases with updated kernels every 6 months.

For customers and business partners that don't have specialised bleeding-edge workloads or latest hardware needs, the latest LTS release "-generic" kernel is the best option for them such as the 4.15 default kernel in Ubuntu 18.04 LTS. Customers who need the latest hardware support capability can install the latest HWE kernel such as the ones contained in interim releases, keeping in mind the shorter support lifespan associated with these kernels (9 months). HWE kernel customers are recommended to upgrade to a newer LTS release that supports their hardware and/or software needs as soon as it is available. Another option for customers is to use point releases. For example, there is an 18.04.4 point release as of February 2020, which includes an updated 5.3.x kernel but is also considered LTS, exactly like the original GA 4.15 kernel in 18.04.

More details on the Ubuntu kernel support lifecycle ›

Kernel security

The Canonical Kernel Team's primary focus is the careful maintenance of kernels and their variants for regular delivery via the Ubuntu SRU process and the Canonical livepatch service. This includes rigorous management of all Linux kernel Common Vulnerabilities and Exposures (CVE) lists (with a focus on patching all high and critical CVEs) review and application of all relevant patches for all critical and serious kernel defects in the mailing lists and then rigorously testing newly updated kernels end-to-end each SRU cycle.

General Availability (GA) and variant Ubuntu kernels

The complete functionality of any given kernel is determined by the included modules and the kernel configuration for both hardware and the expected workloads that are run on it.

Kernel modules are binary programs that extend a kernel's ability to control the computing system's hardware or add additional system capabilities like high-performance networking or non-standard graphics, etc. The GA kernel that is shipped by default, with the Canonical Ubuntu Long Term Support (LTS) and Hardware Enablement (HWE) releases, are tuned for stable, reliable, secure, high-performance operation over a wide variety of hardware platforms and workloads.

A kernel variant is a kernel that deviates from the generic GA kernel by changes to its configuration, and/or by having modules added and/or removed.

Should my organisation use a variant kernel? ›

Custom kernels

Canonical advocates for customers to use the GA kernel shipped with Ubuntu as the best and most cost-effective option in their business environment. We also offer the option for customers to customize their own Ubuntu kernels. Several of our enterprise, Telco and cloud provider customers have systems and workload needs, which justify both the time investment to optimise their kernels and the pay to develop and maintain those custom kernels over time.


Similar news:

How to Install the Latest Mainline Linux Kernel Version in Ubuntu [GUI and Terminal Methods]

This article shows you how to upgrade to the latest Linux kernel in Ubuntu. There are two methods discussed. One is manually installing new kernel and the other uses a GUI tool providing even easier way.

I am assuming that you already know what is Linux kernel. This is the core software that drives any Linux distribution. This is what Linus Torvalds created around 30 years ago and this is what he still works on.

A newer version of Linux kernel is released every few months with new features (such as support for more hardware), bug fixes etc.

But most Linux distribution does not provide the latest Linux kernel unless you are using an Arch-based distribution or some other rolling release distribution.

Linux distributions are responsible for your system’s stability and this is why they don’t release a newer version of Linux Kernel to its users unless they test it for regression on their end. They often use a specific kernel release as base and provide you updates on this base kernel, instead of giving you the latest mainline kernel.

This does not mean that you cannot use the latest Linux kernel in Ubuntu or other distribution you are using.

In this tutorial, I’ll discuss various ways to get a new Linux kernel on Ubuntu.

Using the latest Linux kernel version in Ubuntu: Things you should know

In my opinion, there is no ‘real’ need of upgrading to a newer Linux kernel unless it provides you a good enough reason.

Why install a new Linux kernel version manually?

What could be such a reason? Well, suppose the new Linux kernel introduces support for your sound card or Wi-Fi card or some other hardware component. You read some official forum that the problem you are having with the hardware component could be fixed with a newer Linux kernel version.

HWE kernel option is also available

You should also keep in mind that Ubuntu has this hardware stack enablement (HWE) feature that lets you use somewhat newer Linux kernel on an Ubuntu LTS release.

Older kernels remain available

Another thing to note here is that installing a new kernel doesn’t mean that the older kernel has been removed from the system. It remains at your disposal. By default, Ubuntu boots into the newest Linux Kernel installed on the system.

Two ways of installing new kernel in Ubuntu: Command line and GUI

There are two ways to install newer Linux kernel:

The GUI tool Ukuu is not open source anymore and it locks a few feature which I have discussed in its section.

Let’s see the methods.

Method 1: Manually install new Linux kernel in Ubuntu using command line

The latest Linux kernel is called mainline Linux kernel. You’ll see this term used often.


I must warn you that you should be aware of the risk. If something goes wrong, you may revert to a previous Kernel version but you must not panic. Make a backup of Ubuntu system to be sure. If you are easily baffled with troubleshooting, avoid playing with manual upgrades and stick to your distribution’s system updates.

Step 1: Check current installed version

You may want to first check current installed version of kernel. You can do this by using the uname command in the terminal:

As you can see in output below, I have kernel version 5.4 installed.

Step 2: Download the mainline Linux kernel of your choice

Now you have to download the desired kernel build provided Ubuntu from here.

You can see kernel list like this. I am going to download kernel 5.7. You also should keep in mind to install the stable kernel instead of rc (release candidate).

Download mainline Linux kernel from Ubuntu

Now download appropriate kernel files for your architecture. For 64 bit architecture, you should download these kind of files

  • linux-headers-VERSION-NUMBER_all.deb
  • linux-headers-VERSION-NUMBER_amd64.deb
  • linux-image-VERSION-NUMBER_amd64.deb
  • linux-modules-VERSION-NUMBER_amd64.deb

Hence I will download these files:

Download mainline Linux kernel in DEB format

Step 4: Install the downloaded kernel

Now it’s time to install downloaded kernel. First do into the directory where you’ve downloaded kernel and enter following command. Make sure there isn’t any other “.deb” file in that directory other than downloaded kernel files.

sudo dpkg -i *.deb

Install the new kernel in Ubuntu

It will take some time. After installation finished, you will see screen like this.

New kernel installed in Ubuntu

Step 5: Reboot Ubuntu and enjoy the new Linux kernel.

Now you’ve installed new kernel in Ubuntu successfully, it’s time to reboot the machine. Ubuntu by default boots into the newer kernel version.

After rebooting, check kernel version with same command you used earlier. As you can see, it’s updated to 5.7.0.

Check kernel version after install a new Linux kernel in Ubuntu

Rollback the changes and downgrade Linux kernel

If you didn’t like new Linux Kernel or if you discovered issues with it. You can easily downgrade the Kernel. You just have to:

  • Boot into an older kernel
  • Remove the newer Linux kernel you don’t want

Let’s see how to do that.

When you are booting into your system, on the grub menu, select the Advanced options for Ubuntu.

If you do not see the grub menu, try holding the shift key or use Esc key to bring the grub menu.

Select advanced options for Ubuntu to boot into an older Linux kernel

In here, you’ll see all the Linux kernels installed on your system. Select an older one. Don’t choose the recovery mode, just go with the normal ones.

Boot into older Linux kernel version

Now that you have booted into your good old kernel, we have to remove new kernel.

You can use the apt or dpkg command to remove the installed kernel version. Do you remember the version of new kernel you installed manually? For me it was kernel 5.7. So here’s what I use to delete it.

Change the commands with the version you want to install:

You can see, I have two packages associating with kernel 5.7.0. If I remove the first package it will automatically remove all it’s related dependencies.

Delete installed new Linux kernel

Method 2: Upgrade Linux Kernel in Ubuntu Ukuu GUI tool

You can upgrade Linux kernel on your own in Linux command line. But the kernel upgrade procedure is much easier and more convenient with a GUI tool called Ukuu (Ubuntu Kernel Update Utility).

This GUI tool is developed by Tony George who has provided us with several other useful tools for Ubuntu such as battery monitor for Ubuntuapp backup tool Aptik etc.

You should know that Ukuu of version above 18.9 is now paid and closed source. Version 18.9 is still free and open source.

Paid version contains additional features like:

  • Downloading and installing newer kernel versions automatically
  • Deleting downloaded packages after install
  • Option to stay on same series of a kernel release
  • Automatically removing older kernels.
  • UI improvements.

If you want the additional features, you can purchase it from developer’s official website. Ukuu free version can still be used for installing and removing kernels, though.

Step 1: Install Ukuu in Ubuntu

You can download the deb files for the old Ukuu version 18.9 which is free to use but not updated lately.

Step 2: Install kernel with Ukuu

Once you have installed Ukuu, start it. It will refresh the list of available Linux kernels available for Ubuntu.

By default, it will show you all the available kernels, including the unstable release kernel (tagged with RC and with red Tux icon).

Kernel versions from the distributions are labeled with the logo and the other versions have just the good old Tux logo.

Install New Linux Kernel 11 using Ukuu

As you can see I have kernel 5.7.0 installed already, now I will install kernel 5.7.1 using Ukuu.

Again, you should avoid the release candidates. Select the desired Kernel version and click on install to install the newer Linux kernel version.

Installing new kernel in Ubuntu using Ukuu

Of course, it will require admin password for this action. Once you have entered your password, you can see the installation progress in the application itself. Focus on the end result to know if it new Linux kernel was installed successfully or not.

installing new kernel in Ubuntu

Note: If the installation fails, no need to panic. Nothing will be wrong the system. Just try a different Kernel version and it might work.

You should see something like this when installation finished successfully.

successfully installed new Linux kernel in Ubuntu using Ukuu

Once installation finishes, you’ll see a very helpful screen that tells you if anything goes wrong with the new Linux kernel, you can always choose to boot into the older kernel from the grub menu.

Ukuu after installing new Linux kernel

When you boot into the system next, you’ll be running the Linux kernel you had just installed.

Rollback the changes/Downgrade Linux Kernel with Ukuu

Rollbacking done in two steps:

  • Boot into an older kernel
  • Remove the newer Linux kernel you don’t want

Let’s see how to do that.

When you are booting into your system, on the grub menu, select the Advanced options for Ubuntu.

Install New Linux Kernel 7

Select your old kernel to boot into it.

Boot into older Linux kernel in Ubuntu

Once you boot into the system with the older Linux kernel, start Ukuu again. Make sure that you are not deleting the kernel that you are running at present.

Select the newer kernel version which you don’t want anymore and click on Remove.

Delete an installed Linux kernel version using Ukuu in Ubuntu

That’s all you need to do here to downgrade the Linux kernel in Ubuntu.

While we are discussing it, I would like to point out a few more features of Ukuu. Ukuu has settings option that allows you to not display release candidates of kernels in the list. You can also hide Linux kernel versions older than version 4.0.

Ukuu Linux kernel tool settings

You can also choose the option to display desktop notifications in case new Linux Kernel are available.

You can also remove Ukuu using apt remove ukuu command.

How do you upgrade Linux kernel?

I hope this tutorial was helpful to show you how to install mainline Linux kernel in Ubuntu.

So, do you often upgrade Linux kernel on your own or do you wait for your distribution to provide the upgrade? How do you do it?

Like what you read? Please share it with others.

Filed Under: TutorialTagged With: Beginner Guide, Guide, Kernel, Linux Kernel, Ubuntu, Upgrade


191 192 193 194 195