How to Install Linux Kernel 6.0 on Pop!_OS 22.04 LTS

Linux Kernel 6.0 has been released recently, with many features, including support for the newest generation of processors from Intel and AMD and security updates to improve performance on various hardware devices! For end-users, the most significant change will likely be new capabilities added alongside stability improvements. As always, it is crucial that users carefully evaluate any risks involved in upgrading to a new kernel before doing so.

Some of the various changes besides the typical CPU improvements include the following.

  • Kernel support for NVMe in-band authentication.
  • Runtime verification subsystem.
  • Raspberry Pi 4 V3D kernel driver.
  • IO_uring user-space block driver.
  • Buffered writes on XFS file systems.
  • Send Protocol V2 support for Btrfs.
  • H.265/HEVC API promoted to stable.

For a complete list of changes, visit the 6.0 kernel changelog by visiting Kernel Newbies.

Users who installed the Nvidia drivers from the standard Mesa drivers will not be able to install the kernel using this method.

The following tutorial will teach you how to install Linux Kernel 6.0 on Pop!_OS 22.04 LTS release series using the command line terminal and remove and restore the original kernel.

Update Pop!_OS

Before you begin, update your system to ensure all existing packages are up to date, as this is essential when installing/upgrading Linux kernels to avoid conflicts.



sudo apt update && sudo apt upgrade

Import PPA & Install Linux Kernel 6.0

The best option to install the Linux 6.0 kernels is to install the ppa:tuxinvader/jammy-mainline by TuxInvader. This has some of the most up-to-date mainline generic kernels and the previous 5.19 kernel. Pop!_OS users can safely use this, as Pop!_OS 22.04 LTS is based on Jammy Jellyfish LTS.

Please note that these kernels will naturally be removed and replaced with updated kernels from this PPA since the mainline kernel builds naturally become EOL within a smaller time frame than LTS kernels. But, once you add the PPA, you will naturally be prompted to upgrade each time a minor update or significant release comes forward.

Import the Jammy Mainline Tuxinvader PPA as follows.

First, make sure the following dependencies are installed.

sudo apt install dirmngr ca-certificates dkms software-properties-common gnupg gnupg2 apt-transport-https -y

Next, import the GPG key needed for all the repositories.



sudo gpg --no-default-keyring --keyring /usr/share/keyrings/tuxinvader.gpg --keyserver keyserver.ubuntu.com --recv-keys 3844A6C1C6FD1056

If you have issues importing the GPG key from LaunchPAD, please see the end section on GPG troubleshooting at the end of the article.

Example output:

gpg: keybox '/usr/share/keyrings/tuxinvader.gpg' created
gpg: key 3844A6C1C6FD1056: public key "Launchpad PPA for tuxinvader" imported
gpg: Total number processed: 1
gpg:               imported: 1

Now, import the Jammy Mainline PPA using the following command. Please note you need to import both repositories listed here for anything on your system that may require the source kernel files.

echo 'deb [signed-by=/usr/share/keyrings/tuxinvader.gpg] https://ppa.launchpadcontent.net/tuxinvader/jammy-mainline/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list.d/tuxinvader.list
echo 'deb-src [signed-by=/usr/share/keyrings/tuxinvader.gpg] https://ppa.launchpadcontent.net/tuxinvader/jammy-mainline/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list.d/tuxinvader.list

Once installed, update your repository list.

sudo apt-get update

Next, proceed to the installation of the Linux Kernel. Ensure that any sensitive documents are backed up in case anything goes wrong.

Next, install the 6.0 generic Linux kernel drivers by executing the following command.



sudo apt-get install linux-generic-6.0

Please note that this will only work during the lifetime of Linux Kernel 6.0. After its EOL, the command will not work, and you should not be seeking to install the generic version, regardless.

Once complete, you will need to reboot your system for the new kernel to be fully activated.

reboot

Once logged back into your system, run the following command to confirm the new kernel version is running.

uname -r

Example output:

6.0-060000-generic

For people that love pretty printouts, install the neofetch package.

sudo apt install neofetch -y

Now print your system specs that will show the kernel version as follows.



neofetch

Example output:

How to Install Linux Kernel 6.0 on Pop!_OS 22.04 LTS

How to Restore Default Kernel

For users who find the new kernel has bugs for their hardware, say, loss of sound, use the following steps to restore the default kernel; if you installed an alternative kernel, replace the default kernel section with whatever you want to install.

First, remove the PPA.

sudo rm /etc/apt/sources.list.d/tuxinvader.list

Now run an APT update to ensure the repository is removed.

sudo apt-get update

Begin the removal and restoration; use the following command.

sudo apt-get autoremove linux-generic-6.0* linux-headers-6.0* linux-image-unsigned-6.0* linux-modules-6.0* -y

Next, you will see the following prompt advising that you must make sure a kernel is installed or re-installed before you reboot if you remove the current kernel.



Example:

How to Install Linux Kernel 6.0 on Pop!_OS 22.04 LTS

Press the tab key, select <No>, and press the ENTER KEY.

Before we reboot, make sure the default generic is installed, do not fuss too much as you can install alternative versions later on as we are just trying to get your system back to working order.

sudo apt install --install-recommends linux-generic -y

Please do not ignore this command; failure to have a kernel installed may break your system.

Now reboot.

reboot

Now verify the kernel installed, which should be the default generic kernel.



sudo uname -r

Example output:

5.15.0-48-generic

As mentioned above, you have fallen back to the default kernel.

Alternative Kernels

For those who want options besides the PPA or manually installing, check out the following custom kernel tutorials, which often boast the latest Linux custom-built kernels.

How to Fix Broken LaunchPAD GPG Import

Users that have installed Pop!_OS 22.04 LTS for the first time or have not imported a GPG key before using the command line terminal will often have issues importing GPG keys from LaunchPAD PPAs due to the directories not being created. This is an easy fix. Use the following command that will, in turn, generate the directories.

sudo gpg --list-keys

Example output:

How to Install Linux Kernel 6.0 on Pop!_OS 22.04 LTS

As mentioned above, the necessary directories have been created. This can be skipped, and use the following GPG import command below. If you have any issues with directories missing for this and any other PPA GPG key in the future, just run the above command.



Comments and Conclusion

Mainline kernels contain cutting-edge code that may not have been thoroughly tested and thus may contain undiscovered bugs. However, upgrading to Linux Kernel 6.0 can offer several benefits for those willing to take the risk. In addition, to support the newest generation processors, the 6.0 kernel includes several other changes and improvements, such as better power management capabilities and updated drivers for various devices.

Overall, upgrading to Linux Kernel 6.0 can offer users a more stable and responsive experience and provide access to the latest features and improvements.


Not what you were looking for? Try searching for additional tutorials.

14 thoughts on “How to Install Linux Kernel 6.0 on Pop!_OS 22.04 LTS”

  1. I’m running Pop!_OS 22.04 LTS and need this v6 kernel upgrade to fix my Ryzen 6000 keyboard issues. Unfortunately I couldn’t complete the descipted procedure.

    After:

    sudo apt-get install linux-generic-6.0 linux-headers-6.0 linux-modules-6.0

    I got:

    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    linux-generic-6.00 : Depends: linux-headers-6.0.1-060001-generic but it is not installable
    Depends: linux-image-unsigned-6.0.1-060001-generic but it is not installable
    Depends: linux-modules-6.0.1-060001-generic but it is not installable
    E: Unable to correct problems, you have held broken packages.

    Seems like some dependencies are missing. Do you know how to fix this?

    Reply
    • hi Thomas.

      can you try just running only this command:

      sudo apt-get install linux-generic-6.0

      can you let me know, please?

      thanks.

      Reply
  2. Did that but had the same problem:

    Reading package lists… Done
    Building dependency tree… Done
    Reading state information… Done
    Note, selecting ‘linux-generic-6.00’ for regex ‘linux-generic-6.0’
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    linux-generic-6.00 : Depends: linux-headers-6.0.1-060001-generic but it is not installable
    Depends: linux-image-unsigned-6.0.1-060001-generic but it is not installable
    Depends: linux-modules-6.0.1-060001-generic but it is not installable
    E: Unable to correct problems, you have held broken packages.

    Reply
    • ok, i have the issue now too.

      basically, i had a snapshot of an updated pop os 22.04 lts vm yesterday, i reverted back and updated now i get the same issue, i saw they pushed around 40 or so updates today, i believe something has occurred i need to look into, see if its something that can be worked around or its a bug on their side.

      i did also try re-installing the kernel as i did the same way yesterday without those updates, it worked. i should test xanmod kernel edge while i am at it.

      sorry overall, but it was fine yesterday, and works on linux mint 21, ubuntu 22.04 lts still, i assume it is one of the popos updated packages.

      Reply
      • tried installing this myself, definitely an issue with dkms modules failing to build:

        Building module:
        cleaning build area…
        unset ARCH; [ ! -h /usr/bin/cc ] && export CC=/usr/bin/gcc; env NV_VERBOSE=1 ‘make’ -j8 NV_EXCLUDE_BUILD_MODULES=” KERNEL_UNAME=6.0.2-060002-generic IGNORE_XEN_PRESENCE=1 IGNORE_CC_MISMATCH=1 SYSSRC=/lib/modules/6.0.2-060002-generic/build LD=/usr/bin/ld.bfd modules……..(bad exit status: 2)
        ERROR (dkms apport): kernel package linux-headers-6.0.2-060002-generic is not supported
        Error! Bad return status for module build on kernel: 6.0.2-060002-generic (x86_64)
        Consult /var/lib/dkms/nvidia/515.65.01/build/make.log for more information.

        Kernel preparation unnecessary for this kernel. Skipping…

        Building module:
        cleaning build area…
        make -j8 KERNELRELEASE=6.0.2-060002-generic -C /lib/modules/6.0.2-060002-generic/build M=/var/lib/dkms/system76/1.0.14~1643391291~22.04~78ede46/build…(bad exit status: 2)
        ERROR (dkms apport): kernel package linux-headers-6.0.2-060002-generic is not supported
        Error! Bad return status for module build on kernel: 6.0.2-060002-generic (x86_64)
        Consult /var/lib/dkms/system76/1.0.14~1643391291~22.04~78ede46/build/make.log for more information.

        Kernel preparation unnecessary for this kernel. Skipping…

        Building module:
        cleaning build area…
        make -j8 KERNELRELEASE=6.0.2-060002-generic -C /lib/modules/6.0.2-060002-generic/build M=/var/lib/dkms/system76_acpi/1.0.2~1659568831~22.04~a88dcce/build…(bad exit status: 2)
        ERROR (dkms apport): kernel package linux-headers-6.0.2-060002-generic is not supported
        Error! Bad return status for module build on kernel: 6.0.2-060002-generic (x86_64)
        Consult /var/lib/dkms/system76_acpi/1.0.2~1659568831~22.04~a88dcce/build/make.log for more information.

        Kernel preparation unnecessary for this kernel. Skipping…

        Building module:
        cleaning build area…
        make -j8 KERNELRELEASE=6.0.2-060002-generic -C /lib/modules/6.0.2-060002-generic/build M=/var/lib/dkms/system76-io/1.0.2~1655490480~22.04~0217576/build…(bad exit status: 2)
        ERROR (dkms apport): kernel package linux-headers-6.0.2-060002-generic is not supported
        Error! Bad return status for module build on kernel: 6.0.2-060002-generic (x86_64)
        Consult /var/lib/dkms/system76-io/1.0.2~1655490480~22.04~0217576/build/make.log for more information.

        Reply
        • Hi Leon,

          I will test PopOS and Nvidia drivers installed; let me see what I can do, and I will update this.

          I did not think of testing this part; pop!_OS does things differently, for standard systems this will work without Nvidia drivers.

          I will update the comment once I look into it, thanks again for the message.

          Reply
  3. If fixed the problem installing the unavailable dependency with:

    sudo apt install aptitude
    sudo aptitude install linux-image-unsigned-6.0.1-060001-generic

    Some problems with the cpu (Ryzen 7 AMD 6800u) was mentioned in the response, but after rebooting the new kernel was installed. And now my keyboard is working for the first time at this brand new laptop – hooray!

    Thanks a lot for the guide and your help 🙂

    Reply
    • nice, glad you got it sorted.

      i see which package they updated that caused the issue just on pop_os 22.04 lts; since it’s a popos package, I will update the tutorial shortly to reflect. just bad timing is all, wish I did the tutorial today not yesterday to avoid this hah but that’s life.

      Thanks for the kind words.

      Take care

      Reply
  4. You’ve got the kernel install steps in there twice:

    “Next, proceed to the installation of the Linux Kernel. Ensure that any sensitive documents are backed up in case anything goes wrong.

    Next, install the 6.0 generic Linux kernel drivers by executing the following command.

    sudo apt-get install linux-generic-6.0

    Next, proceed to the installation of the Linux Kernel. Ensure that any sensitive documents are backed up in case anything goes wrong.

    Next, install the 6.0 generic Linux kernel drivers by executing the following command.
    Advertisement

    sudo apt-get install linux-generic-6.0”

    Reply
  5. Something to note, apparently the kernels in this ppa depend on grub whereas pop-os by default uses systemd-boot. Not sure if that will break anything or not.

    Reply
  6. Hola, hoy tuve la actualización de Pop!_os y lo actualice con el
    sudo apt upgrade -y
    todo normal, reinicie mi pc y dejo de entrar a este, ahora me toca acceder dándole espacio para usar la configuración anterior y esta en el kernel 5.19.16, es como si el bootloader se hubiera dañado, no se si alguien tiene alguna solución para esto.

    Reply
    • Hola,

      Lo siento, no estoy seguro de lo que quieres decir, ¿usaste el PPA para instalar el Kernel Linux 6.0? ¿Puedes arrancar en el escritorio?

      Gracias

      Reply

Leave a Comment