35

I want to update my Kernel to the latest stable version which is v5.16.1

I followed a guide which showed how to install kernel 5.16. Everything went fine until I received this error:

dpkg: dependency problems prevent configuration of linux-headers-5.16.1-051601-generic:
 linux-headers-5.16.1-851601-generic depends on libc6 (>= 2.34); however:
  Version of libc6:amd64 on system is 2.31-8ubuntu9.2. 
 linux-headers-5.16.1-851601-generic depends on libssl3 (>= 3.8.0--alphal); however:
  Package libssl3 is not installed.

dpkg: error processing package linux-headers-5.16.1-051601-generic (--install): dependency problems - leaving unconfigured Setting up linux-image-unsigned-5.16.1-051601-generic (5.16.1-051601.282201160933) ... I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.13.0-27-generic I: /boot/initrd.img.old is now a symlink to initrd.img-5.13.0-27-generic I: /boot/vmlinuz is now a symlink to vmlinuz-5.16.1-051601-generic I: /boot/initrd.img is now a symlink to initrd.img-5.16.1-051601-generic Setting up linux-modules-5.16.1-051601-generic (5.16.1-051601.202201160933) Processing triggers for linux-image-unsigned-5.16.1-051601-generic (5.16.1-051601.202201160933) /etc/kernel/postinst.d/initramfs-tools: update-initramfs: Generating /boot/initrd.img-5.16.1-851681-generic I: The initramfs will attempt to resume from /dev/sda2 I: (UUID=91b5f7d6-87fe-498a-a823-88828fa8256a) I: Set the RESUME variable to override this. /etc/kernel/postinst.d/zz-update-grub: Sourcing file 7etc/default/grub. Sourcing file 7etc/default/grub.d/99_breeze-grub.cfg. Sourcing file 7etc/default/grub.d/init-select.cfg. Generating grub configuration file ... Found theme: /boot/grub/themes/breeze/theme.txt Found linux image: /boot/vmlinuz-5.16.1-851681-generic Found initrd image: /boot/initrd.img-5.16.1-051601-generic Found linux image: /boot/vmlinuz-5.15.15-051515-generic Found initrd image: /boot/initrd.img-5.15.15-851515-generic Found linux image: /boot/vmlinuz-5.13.8-27-generic Found initrd image: /boot/initrd.img-5.13.8-27-generic Found linux image: /boot/vmlinuz-5.11.0-46-generic Found initrd image: /boot/initrd.img-5.11.0-46-generic Found linux image: /boot/vmlinuz-5.4.0-96-generic Found initrd image: /boot/initrd.img-5.4.0-96-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin done Errors were encountered while processing: linux-headers-5.16.1-051681-generic

What are the dependencies and why are not they installed automatically while updating the kernel? I need a step by step guide to update the kernel to the latest one. Please help. I watched many youtube videos and they didn't have this error even after following the exact same steps.

I didn't get any satisfactory answers to this problem, please help me. My os is fully up-to-date. I'm new to linux and I can't use linux because of this problem because I want the latest kernel.

Hardware info:

  • OS : Kubuntu 21.10 (Currently running Kernel 5.13)
  • CPU: i3-8100
  • Storage: 250GB NVMe M.2 SSD
  • GPU : Nvidia GeForce GTX 1650
  • RAM: 8GB 2400 MHz
Error404
  • 7,440
  • 4
    Hi. Please be aware that running mainline kernels is targeted towards testing. You haven't explained "why" you want the latest kernel. All Ubuntu kernels are updated with relevant security patches, so just running the latest "because it's the latest" is not really an explanation. – Artur Meinild Jan 20 '22 at 09:20
  • 3
    Please don't include screenshots of text; they aren't searchable, and can't be read by people with certain limitations. Copy/paste the text from the terminal into your question. – marcelm Jan 20 '22 at 18:02

5 Answers5

38

NOTE: Make sure to disable secure boot from BIOS settings before proceeding. If you don't want to disable Secure Boot, you've to manually sign the kernel. This answer may help.

NOTE: Kernels installed from outside the main Ubuntu repositories may not be supported, and don't get security updates. If you ask for further help, you may be told to revert to a supported kernel.

A few points to note:

  • The kernel you want to install is 5.16.1 whereas the tutorial you're following shows the method to install 5.16.

  • 5.16 is a mainline kernel.

  • Ubuntu uses the latest stable LTS kernel instead of the latest stable kernel.

  • You should not upgrade your kernel manually unless you want some specific driver support.

  • As of Jan 20, 2022, there is no easy way to install 5.16.1 except compiling from the source. You can get the Tarball from its official website (direct link). Compiling is easy but installing dependencies and configuring installation is hard. You'll more likely face errors.

  • Manual kernel installations do not upgrade automatically with apt upgrade. You need to manually upgrade them each time or use the script mentioned below in this answer.

Fixing the installation issue

It's because of a dependency issue, running a force install will fix it:

sudo apt -f install

Preferably, you can use aptitude for a better result:

sudo aptitude -f install

Alternative way to install kernel 5.16

Alternatively, running the below commands will also install the kernel v5.16:

cd ~/Downloads

wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16/amd64/linux-headers-5.16.0-051600_5.16.0-051600.202201092355_all.deb wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16/amd64/linux-headers-5.16.0-051600-generic_5.16.0-051600.202201092355_amd64.deb wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16/amd64/linux-image-unsigned-5.16.0-051600-generic_5.16.0-051600.202201092355_amd64.deb wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16/amd64/linux-modules-5.16.0-051600-generic_5.16.0-051600.202201092355_amd64.deb

sudo dpkg -i *.deb sudo apt -f install


Installing the latest kernel.

The title says that you want to install the latest kernel, you can use an automated script to install the latest kernel:

  1. Install the shell script which automatically checks and install the latest kernel:

    wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
    sudo install ubuntu-mainline-kernel.sh /usr/local/bin/
    
  2. Run the shell script:

    sudo ubuntu-mainline-kernel.sh -c     
    
  3. Install the latest stable kernel:

    sudo ubuntu-mainline-kernel.sh -i
    
  4. Press Y to accept the installation.

  5. Reboot to boot into the latest kernel:

    sudo reboot      
    

for the future, if you'd like to recheck and reinstall the latest stable kernel, you can simply run:

sudo ubuntu-mainline-kernel.sh -i

Note: You can check the kernel you are using, using the following command:

uname -r
popey
  • 23,667
Error404
  • 7,440
  • 1
    Thanks, it solved my issue. You just gave me exact step by step guide. Thank you. – Sifat Ullah Jan 20 '22 at 09:43
  • Hey is there any way to remove the older kernels? Because now I've got many kernels installed in my grub menu. @Someone – Sifat Ullah Jan 20 '22 at 09:55
  • 2
    @SifatUllah sudo apt autoremove should remove them. You can also manually remove them using sudo apt remove – Error404 Jan 20 '22 at 10:00
  • I tried the method from kernel.ubuntu.com but during boot I get an error that it is not signed – GorillaApe Jan 25 '22 at 13:06
  • @GorillaApe See the Edited part i.e Note on the above of the answer. – Error404 Jan 25 '22 at 13:48
  • Is there not a PPA for newer kernels? I assume this script's new kernel is going to get blown away by the next official ubuntu update? – Joseph Garvin Jul 19 '22 at 13:53
  • 1
    @JosephGarvin There are many PPAs for newer kernels, but most of them would just fail or cause some or another error while downloading the packages (from my experience). They may harm the package manager. So, installing from the script is much more secure. Further more, the kernel installed from this script won't be automatically deleted, so any update won't effect it in any way. But still, it's quite dangerous to update kernel before the official update. Also, if you are following my answer, make sure you have a backup and at least some knowledge about APT and Ubuntu. – Error404 Jul 20 '22 at 09:46
  • Script worked like a charm! Cheers :) – Michel Rummens Feb 10 '23 at 08:29
  • 1
    Oneliner : wget -c -- $(curl -s https://kernel.ubuntu.com/\~kernel-ppa/mainline/v${VER}/amd64/ | sed 's/"\|>\|</\n/g' | grep deb | uniq | while read line; do echo "https://kernel.ubuntu.com/~kernel-ppa/mainline/v${VER}/amd64/${line}";done); dpkg -i linux*${VER}*.deb . Remember to set VER=6.3 . – Tejas Kale May 02 '23 at 22:34
2

I found next script, which automates kernel installations:

wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
sudo chmod a+x ubuntu-mainline-kernel.sh
sudo install ubuntu-mainline-kernel.sh /usr/local/bin
sudo ubuntu-mainline-kernel.sh -i

NOTICE: These are mainline kernels, which are not the default Ubuntu kernels.

Eugen Konkov
  • 796
  • 9
  • 18
1

Practical Way = Install Ubuntu 22.10
Ubuntu 22.10 using KERNEL = 5.19
https://cdimage.ubuntu.com/daily-live/pending/
or
INSTALL Linux Kernel 5.19 to Ubuntu 22.04 LTS
Kernel 5.19 more better and faster than Kernel 5.15
Download Kernel 5.19 =

wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.19/amd64/linux-headers-5.19.0-051900_5.19.0-051900.202207312230_all.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.19/amd64/linux-headers-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.19/amd64/linux-image-unsigned-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.19/amd64/linux-modules-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb

Source = https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.19/
Now, Install All =

sudo apt install ./linux-headers-5.19.0*.deb ./linux-image-unsigned-5.19.0*.deb ./linux-modules-5.19.0*.deb

Check Kernel Version =

uname -r

Output New Kernel 5.19 =
5.19.0-051900-generic
Now, Restart your Computer

REMOVE Kernel 5.15 from Ubuntu 22.04 LTS =

sudo apt purge linux-headers-5.15.0* linux-modules-5.15.0* linux-image-unsigned-5.15.0*

sudo apt autoremove

ISRAEL
  • 79
  • this solution did not work for me – alper May 03 '23 at 06:57
  • @ISRAEL The linux-generic-hwe-22.04 meta package now installs kernel v5.19 :
    $ dpkg -s linux-generic-hwe-22.04 | grep 5.19
    Source: linux-meta-hwe-5.19
    Version: 5.19.0.46.47~22.04.21
    Provides: kernel-testing--linux-hwe-5.19--full--generic, kernel-testing--linux-hwe-5.19--full--preferred
    Depends: linux-image-generic-hwe-22.04 (= 5.19.0.46.47~22.04.21), linux-headers-generic-hwe-22.04 (= 5.19.0.46.47~22.04.21)
    
    – SebMa Jul 01 '23 at 10:28
  • Except, on my machine, for some reason the 5.19 kernel update caused it to be non-bootable. I actually tried this two different times. Reverted to 5.15 series, it's all I need until next *buntu LTS stable release: 22.04.3 which should work fine. (Or wait for 24.04.1 I suppose!) – fixitmanarizona Aug 05 '23 at 17:24
1

Install mainline kernel package which is a sweet gui. Worked perfectly for me. Saved me time and effort having to do it manually. Updating to 6.3 fixed my wifi driver and tethering! Great work guys!

sudo add-apt-repository ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline