Linux Kernel 6.2 Released! How to Install in Ubuntu 22.04 / Linux Mint 21

Last updated: February 20, 2023 — 12 Comments

Linux Kernel 6.2 was release this Sunday. Linus Torvalds announced it at lkml.org:

So here we are, right on (the extended) schedule, with 6.2 out.

Nothing unexpected happened last week, with just a random selection of small fixes spread all over, with nothing really standing out. The shortlog is tiny and appended below, you can scroll through it if you’re bored.

Wed have a couple of small things that Thorsten was tracking on the regression side, but I wasn’t going to apply any last-minute patches that weren’t actively pushed by maintainers, so they will have to show up for stable. Nothing seemed even remotely worth trying to delay things for

What’s New in Kernel 5.16

  • Initial support for NVIDIA RTX 30 “Ampere” GPU accelerated graphics with Nouveau open-source driver.
  • Intel Arc graphics support being stable and enabled out-of-the-box!
  • Raspberry Pi 4K @ 60Hz display support.
  • New PlayStaion driver with Sony DualShock 4 controller support.
  • Added OneXPlayer senser and fan driver.
  • Dell Data Vault WMI driver.
  • Google Chrome OS Human Presence Sensor support
  • RealTek RT1318 and Rockchip RK3588 support.

If you want to learn more features about Kernel 6.2, read this blog post.

How to Install Kernel 6.2 in Ubuntu 22.04+/Linux Mint 21

NOTE: The Mainline Kernel packages are not appropriate for production use. Only install it for testing purpose or for specific drivers.

The Mainline Kernel PPA has built the packages for Ubuntu and  its based systems with modern 64-bit (amd64), arm64/armhf mobile, ppc64el and s390x CPU architecture types support.

User can select download the packages from the link page below:

For modern 64-bit PC/laptop, they are:

  1. linux-headers-6.2.0-060200-xxxxxx_all.deb
  2. linux-headers-6.2.0-060200-generic_xxx_amd64.deb
  3. linux-modules-6.2.0-060200-generic_xxx_amd64.deb
  4. linux-image-unsigned-6.2.0-060200-generic_xxx_amd64.deb

After downloading them, right click on blank area in Downloads page and select “Open in Terminal”. Finally, install the kernel packages via command:

sudo apt install ./linux*.deb

Alternatively you can download and install the kernel packages via terminal commands ( open terminal via Ctrl+Alt+T):

cd /tmp/

wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.2/amd64/linux-headers-6.2.0-060200-generic_6.2.0-060200.202302191831_amd64.deb

wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.2/amd64/linux-headers-6.2.0-060200_6.2.0-060200.202302191831_all.deb

wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.2/amd64/linux-image-unsigned-6.2.0-060200-generic_6.2.0-060200.202302191831_amd64.deb

wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.2/amd64/linux-modules-6.2.0-060200-generic_6.2.0-060200.202302191831_amd64.deb

sudo dpkg -i *.deb

Once installed, restart your computer and verify by running uname -a command in terminal!

Uninstall Linux Kernel 6.2:

Restart your machine and select boot with the previous kernel in boot menu under ‘Grub2 -> Advanced Option for Ubuntu’. Then run command to remove Linux Kernel 6.2:

sudo apt remove --autoremove linux-headers-6.2.0-060200 linux-modules-6.2.0-060200-generic

Twitter

I'm a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please comment to let me know if the tutorial is outdated! And, notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me via [email protected] Buy me a coffee: https://ko-fi.com/ubuntuhandbook1 |

12 responses to Linux Kernel 6.2 Released! How to Install in Ubuntu 22.04 / Linux Mint 21

  1. I want to start in freelancing

  2. Stephen Fischer March 19, 2023 at 6:29 pm

    Download is performed unsandboxed as root as file ‘/home/sfischer/Downloads/linux-headers-6.1.20-060120_6.1.20-060120.202303170840_all.deb’ couldn’t be accessed by user ‘_apt’. – pkgAcquire::Run (13: Permission denied)

    • Stephen Fischer March 19, 2023 at 6:30 pm

      Please note – this happens when attempting the install via sudo, as well as when attempting install as the root user

      • This is a warning message that will happen every time you installing a local .deb package via apt package manager.

        It is a bug. It’s won’t affect the installing process, just skip it.

        • Stephen Fischer March 20, 2023 at 12:56 pm

          Well…after receiving that message, and attempting to boot the kernel, the machine hangs at a initramfs prompt – 6.x kernel never boots. You’re saying that error has nothing to do with it.

          So I have 2 problems – the first on with the error is completely cosmetic from what you’re saying, the second, where the new kernel won’t boot – that seems more serious

  3. Ray Schumacher April 23, 2023 at 9:20 pm

    Attempted to install on Ubuntu 23.04, which would not run kernel 6.2.0-20.20. Result:

    Building module:
    Cleaning build area…
    ‘make’ -j12 KVER=6.2.0-060200-generic….(bad exit status: 2)
    ERROR (dkms apport): binary package for rtl8821ce: v5.5.2_34066.20190614 not found
    Error! Bad return status for module build on kernel: 6.2.0-060200-generic (x86_64)
    Consult /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/make.log for more information.
    Error! One or more modules failed to install during autoinstall.
    Refer to previous errors for more information.
    …fail!
    run-parts: /etc/kernel/header_postinst.d/dkms exited with return code 11
    dpkg: error processing package linux-headers-6.2.0-060200-generic (–install):
    installed linux-headers-6.2.0-060200-generic package post-installation script subprocess returned error exit status 1
    Setting up linux-modules-6.2.0-060200-generic (6.2.0-060200.202302191831) …
    Setting up linux-image-unsigned-6.2.0-060200-generic (6.2.0-060200.202302191831) …
    I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.19.0-40-generic
    I: /boot/initrd.img.old is now a symlink to initrd.img-5.19.0-40-generic
    I: /boot/vmlinuz is now a symlink to vmlinuz-6.2.0-060200-generic
    I: /boot/initrd.img is now a symlink to initrd.img-6.2.0-060200-generic
    Processing triggers for linux-image-unsigned-6.2.0-060200-generic (6.2.0-060200.202302191831) …
    /etc/kernel/postinst.d/dkms:
    * dkms: running auto installation service for kernel 6.2.0-060200-generic
    Sign command: /usr/bin/kmodsign
    Binary update-secureboot-policy not found, modules won’t be signed

    Building module:
    Cleaning build area…
    ‘make’ -j12 KVER=6.2.0-060200-generic….(bad exit status: 2)
    ERROR (dkms apport): binary package for rtl8821ce: v5.5.2_34066.20190614 not found
    Error! Bad return status for module build on kernel: 6.2.0-060200-generic (x86_64)
    Consult /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/make.log for more information.
    Error! One or more modules failed to install during autoinstall.
    Refer to previous errors for more information.
    …fail!
    run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
    dpkg: error processing package linux-image-unsigned-6.2.0-060200-generic (–install):
    installed linux-image-unsigned-6.2.0-060200-generic package post-installation script subprocess returned error exit status 1
    Errors were encountered while processing:
    linux-headers-6.2.0-060200-generic
    linux-image-unsigned-6.2.0-060200-generic

    Here is make.log from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build:

    DKMS make.log for rtl8821ce-v5.5.2_34066.20190614 for kernel 6.2.0-060200-generic (x86_64)
    Sun Apr 23 02:14:07 PM MST 2023
    make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.2.0-060200-generic/build M=/var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build modules
    make[1]: Entering directory ‘/usr/src/linux-headers-6.2.0-060200-generic’
    warning: the compiler differs from the one used to build the kernel
    The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.2.0-9ubuntu1) 12.2.0
    You are using: gcc-12 (Ubuntu 12.2.0-17ubuntu1) 12.2.0
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_cmd.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_security.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_debug.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_io.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_ioctl_query.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_ioctl_set.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_ieee80211.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_mlme.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_mlme_ext.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_mi.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_wlan_util.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_vht.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_pwrctrl.o
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_mlme.c: In function ‘rtw_drv_scan_by_self’:
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_mlme.c:3161:17: warning: this ‘else’ clause does not guard… [-Wmisleading-indentation]
    3161 | else
    | ^~~~
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_mlme.c:3164:25: note: …this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
    3164 | goto exit;
    | ^~~~
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_rf.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_chplan.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_recv.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_sta_mgt.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_ap.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/mesh/rtw_mesh.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/mesh/rtw_mesh_pathtbl.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/mesh/rtw_mesh_hwmp.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_xmit.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_p2p.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_rson.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_tdls.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_br_ext.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_iol.o
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_rf.c: In function ‘dump_txpwr_lmt’:
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_rf.c:765:9: warning: this ‘if’ clause does not guard… [-Wmisleading-indentation]
    765 | if (IS_HARDWARE_TYPE_JAGUAR_AND_JAGUAR2(adapter))
    | ^~
    In file included from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/include/drv_types.h:60,
    from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_rf.c:17:
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/include/rtw_debug.h:220:9: note: …this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
    220 | do {\
    | ^~
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_rf.c:767:17: note: in expansion of macro ‘RTW_PRINT_SEL’
    767 | RTW_PRINT_SEL(sel, “txpwr_lmt_5g_20_40_ref:0x%02x\n”, rfctl->txpwr_lmt_5g_20_40_ref);
    | ^~~~~~~~~~~~~
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_sta_mgt.c: In function ‘rtw_mfree_stainfo’:
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_sta_mgt.c:379:25: warning: the comparison will always evaluate as ‘true’ for the address of ‘lock’ will never be NULL [-Waddress]
    379 | if (&psta->lock != NULL)
    | ^~
    In file included from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/include/drv_types.h:108,
    from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_sta_mgt.c:17:
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/include/sta_info.h:263:17: note: ‘lock’ declared here
    263 | _lock lock;
    | ^~~~
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_sreset.o
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_ap.c: In function ‘rtw_ap_update_chbw_by_ifbmp’:
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_ap.c:4392:42: warning: the comparison will always evaluate as ‘true’ for the address of ‘padapters’ will never be NULL [-Waddress]
    4392 | if (!(ifbmp & BIT(i)) || !dvobj->padapters)
    | ^
    In file included from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_ap.c:17:
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/include/drv_types.h:1041:19: note: ‘padapters’ declared here
    1041 | _adapter *padapters[CONFIG_IFACE_NUMBER];/*IFACE_ID_MAX*/
    | ^~~~~~~~~
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_ap.c:4412:42: warning: the comparison will always evaluate as ‘true’ for the address of ‘padapters’ will never be NULL [-Waddress]
    4412 | if (!(ifbmp & BIT(i)) || !dvobj->padapters)
    | ^
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/include/drv_types.h:1041:19: note: ‘padapters’ declared here
    1041 | _adapter *padapters[CONFIG_IFACE_NUMBER];/*IFACE_ID_MAX*/
    | ^~~~~~~~~
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_btcoex_wifionly.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_btcoex.o
    CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_beamforming.o
    /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_br_ext.c:20:18: fatal error: net/ipx.h: No such file or directory
    20 | #include
    | ^~~~~~~~~~~
    compilation terminated.
    make[2]: *** [scripts/Makefile.build:252: /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/core/rtw_br_ext.o] Error 1
    make[2]: *** Waiting for unfinished jobs….
    make[1]: *** [Makefile:2027: /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build] Error 2
    make[1]: Leaving directory ‘/usr/src/linux-headers-6.2.0-060200-generic’
    make: *** [Makefile:2244: modules] Error 2

    Almost needless to say, this attempted install was not detected by sudo update-grub.

    • Ubuntu 23.04 come with Linux Kernel 6.2 out-of-the-box. Please verify by running command:

      uname -a
      • Ray Schumacher April 24, 2023 at 6:28 pm

        You are correct that Ubuntu Mate 23.04 attempted to install the 6.2.0-20.20 kernel, but when online upgrade installation was finished, that kernel would not boot. It gave a dependency message that I could not understand. Therefore, I reset the running kernel to 5.19.0-40 (output of uname -a), which does boot. I have tried numerous times to install a more recent kernel but I keep getting a message about 6.2.0 having something missing.

        • Please paste here the error message so we can help to troubleshot.

          • Ray Schumacher April 25, 2023 at 2:07 pm

            Here is the result of dpkg -i *.deb in the directory where wget files are saved:

            rjs@RSBK:~/Downloads/Linux/6.2.0_kernel$ ls
            linux-headers-6.2.0-060200_6.2.0-060200.202302191831_all.deb linux-image-unsigned-6.2.0-060200-generic_6.2.0-060200.202302191831_amd64.deb
            linux-headers-6.2.0-060200-generic_6.2.0-060200.202302191831_amd64.deb linux-modules-6.2.0-060200-generic_6.2.0-060200.202302191831_amd64.deb
            rjs@RSBK:~/Downloads/Linux/6.2.0_kernel$ sudo dpkg -i *.deb
            [sudo] password for rjs:
            Selecting previously unselected package linux-headers-6.2.0-060200.
            (Reading database … 415610 files and directories currently installed.)
            Preparing to unpack linux-headers-6.2.0-060200_6.2.0-060200.202302191831_all.deb …
            Unpacking linux-headers-6.2.0-060200 (6.2.0-060200.202302191831) …
            Selecting previously unselected package linux-headers-6.2.0-060200-generic.
            Preparing to unpack linux-headers-6.2.0-060200-generic_6.2.0-060200.202302191831_amd64.deb …
            Unpacking linux-headers-6.2.0-060200-generic (6.2.0-060200.202302191831) …
            Selecting previously unselected package linux-image-unsigned-6.2.0-060200-generic.
            Preparing to unpack linux-image-unsigned-6.2.0-060200-generic_6.2.0-060200.202302191831_amd64.deb …
            Unpacking linux-image-unsigned-6.2.0-060200-generic (6.2.0-060200.202302191831) …
            Selecting previously unselected package linux-modules-6.2.0-060200-generic.
            Preparing to unpack linux-modules-6.2.0-060200-generic_6.2.0-060200.202302191831_amd64.deb …
            Unpacking linux-modules-6.2.0-060200-generic (6.2.0-060200.202302191831) …
            Setting up linux-headers-6.2.0-060200 (6.2.0-060200.202302191831) …
            Setting up linux-headers-6.2.0-060200-generic (6.2.0-060200.202302191831) …
            /etc/kernel/header_postinst.d/dkms:
            * dkms: running auto installation service for kernel 6.2.0-060200-generic
            Sign command: /usr/bin/kmodsign
            Binary update-secureboot-policy not found, modules won’t be signed

            Building module:
            Cleaning build area…
            ‘make’ -j12 KVER=6.2.0-060200-generic….(bad exit status: 2)
            ERROR (dkms apport): binary package for rtl8821ce: v5.5.2_34066.20190614 not found
            Error! Bad return status for module build on kernel: 6.2.0-060200-generic (x86_64)
            Consult /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/make.log for more information.
            Error! One or more modules failed to install during autoinstall.
            Refer to previous errors for more information.
            …fail!
            run-parts: /etc/kernel/header_postinst.d/dkms exited with return code 11
            dpkg: error processing package linux-headers-6.2.0-060200-generic (–install):
            installed linux-headers-6.2.0-060200-generic package post-installation script subprocess returned error exit status 1
            Setting up linux-modules-6.2.0-060200-generic (6.2.0-060200.202302191831) …
            Setting up linux-image-unsigned-6.2.0-060200-generic (6.2.0-060200.202302191831) …
            I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.19.0-40-generic
            I: /boot/initrd.img.old is now a symlink to initrd.img-5.19.0-40-generic
            I: /boot/vmlinuz is now a symlink to vmlinuz-6.2.0-060200-generic
            I: /boot/initrd.img is now a symlink to initrd.img-6.2.0-060200-generic
            Processing triggers for linux-image-unsigned-6.2.0-060200-generic (6.2.0-060200.202302191831) …
            /etc/kernel/postinst.d/dkms:
            * dkms: running auto installation service for kernel 6.2.0-060200-generic
            Sign command: /usr/bin/kmodsign
            Binary update-secureboot-policy not found, modules won’t be signed

            Building module:
            Cleaning build area…
            ‘make’ -j12 KVER=6.2.0-060200-generic….(bad exit status: 2)
            ERROR (dkms apport): binary package for rtl8821ce: v5.5.2_34066.20190614 not found
            Error! Bad return status for module build on kernel: 6.2.0-060200-generic (x86_64)
            Consult /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/make.log for more information.
            Error! One or more modules failed to install during autoinstall.
            Refer to previous errors for more information.
            …fail!
            run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
            dpkg: error processing package linux-image-unsigned-6.2.0-060200-generic (–install):
            installed linux-image-unsigned-6.2.0-060200-generic package post-installation script subprocess returned error exit status 1
            Errors were encountered while processing:
            linux-headers-6.2.0-060200-generic
            linux-image-unsigned-6.2.0-060200-generic

Leave a Reply

Text formatting is available via select HTML.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

*