Installing Daily Ubuntu Linux Kernels manually (And the Linux Kernel 6.0rc1)

Installing Daily Ubuntu Linux Kernels manually (And the Linux Kernel 6.0rc1)

Hi everyone,

In this post, I will show you how to install the daily builds of the Linux Kernel from the Ubuntu Kernel Team Server site.

Last week, we got the very first Linux Kernel 6.0 release. It is the first Release Candidate, but this kernel failed to build for the amd64 architecture.

Linux Kernel 6.0-rc1 failed to build for amd64

This means that we can’t install it using the Ubuntu Mainline Kernel Installer tool. Luckily, the Ubuntu Kernel Team does daily builds, and it seems there are 2 dates where the kernel built successfully: August 17, and 20, 2022. All other dates failed for it, but are available for the ARM architecture.

If you open the Ubuntu Mainline Kernel Installer, and haven’t changed the “Show N Previous major versions” option, you would see the list similar this:

1 - Kernel View empty

Therefore, we must download the kernel files manually from the Ubuntu Kernel Team site and install them with the dpkg tool.

Downloading and Installing the Daily Linux Kernel Build

To download the daily kernel files, go to the Ubuntu Kernel Team Daily Mainline Kernel Builds. You should see a list of dates:

Start with the latest date and see if there is an amd64 build. In the case of the August 20th build, the amd64 compiled successfully:

2 - Ubuntu Mainline Kernel 6.0-rc1 2022-08-20

Download all 4 .deb packages of the amd64 architecture:

Open a terminal and go to the folder containing the downloaded Linux Kernel files. From there, you’ll use sudo dpkg -i linux-* to let dpkg find and install the kernel packages. These starts with the linux- prefix, and we use the wildcard * character after so that dpkg can find all 4 packages:

6 - Installing the Ubuntu Mainline Kernel 6.0-rc1 2022-08-20 with dpkg

If all goes well, the installation should be successful:

7 - Ubuntu Mainline Kernel 6.0-rc1 2022-08-20 Installed

Now, you can reboot your machine. Once logged in again, you can use uname -r to verify that the newly installed kernel is running:

8 - Checking that the Ubuntu Mainline Kernel 6.0rc1 2022-08-20 is running

Notes

The Nvidia Driver fails to install with this kernel. It seems we have to use the Nouveau driver for the time being. If you need to use the proprietary Nvidia driver, do not use this kernel version.

The following is the output when installing the kernel and using the Nvidia proprietary driver:

sudo dpkg -i linux-*
Selecting previously unselected package linux-headers-6.0.0-060000rc1daily20220820.
(Reading database ... 479961 files and directories currently installed.)
Preparing to unpack linux-headers-6.0.0-060000rc1daily20220820_6.0.0-060000rc1daily20220820.202208192242_all.deb ...
Unpacking linux-headers-6.0.0-060000rc1daily20220820 (6.0.0-060000rc1daily20220820.202208192242) ...
Selecting previously unselected package linux-headers-6.0.0-060000rc1daily20220820-generic.
Preparing to unpack linux-headers-6.0.0-060000rc1daily20220820-generic_6.0.0-060000rc1daily20220820.202208192242_amd64.deb ...
Unpacking linux-headers-6.0.0-060000rc1daily20220820-generic (6.0.0-060000rc1daily20220820.202208192242) ...
Selecting previously unselected package linux-image-unsigned-6.0.0-060000rc1daily20220820-generic.
Preparing to unpack linux-image-unsigned-6.0.0-060000rc1daily20220820-generic_6.0.0-060000rc1daily20220820.202208192242_amd64.deb ...
Unpacking linux-image-unsigned-6.0.0-060000rc1daily20220820-generic (6.0.0-060000rc1daily20220820.202208192242) ...
Selecting previously unselected package linux-modules-6.0.0-060000rc1daily20220820-generic.
Preparing to unpack linux-modules-6.0.0-060000rc1daily20220820-generic_6.0.0-060000rc1daily20220820.202208192242_amd64.deb ...
Unpacking linux-modules-6.0.0-060000rc1daily20220820-generic (6.0.0-060000rc1daily20220820.202208192242) ...
Setting up linux-headers-6.0.0-060000rc1daily20220820 (6.0.0-060000rc1daily20220820.202208192242) ...
Setting up linux-headers-6.0.0-060000rc1daily20220820-generic (6.0.0-060000rc1daily20220820.202208192242) ...
/etc/kernel/header_postinst.d/dkms:
 * dkms: running auto installation service for kernel 6.0.0-060000rc1daily20220820-generic

Building module:
cleaning build area...
make -j32 KERNELRELEASE=6.0.0-060000rc1daily20220820-generic all INCLUDEDIR=/lib/modules/6.0.0-060000rc1daily20220820-generic/build/include KVERSION=6.0.0-060000rc1daily20220820-generic DKMS_BUILD=1...(bad exit status: 2)
ERROR (dkms apport): binary package for evdi: 1.11.0 not found
Error! Bad return status for module build on kernel: 6.0.0-060000rc1daily20220820-generic (x86_64)
Consult /var/lib/dkms/evdi/1.11.0/build/make.log for more information.
applying patch disable_fstack-clash-protection_fcf-protection.patch...patching file Kbuild
Hunk #1 succeeded at 118 (offset 47 lines).


Building module:
cleaning build area...
unset ARCH; [ ! -h /usr/bin/cc ] && export CC=/usr/bin/gcc; env NV_VERBOSE=1 'make' -j16 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=6.0.0-060000rc1daily20220820-generic IGNORE_XEN_PRESENCE=1 IGNORE_CC_MISMATCH=1 SYSSRC=/lib/modules/6.0.0-060000rc1daily20220820-generic/build LD=/usr/bin/ld.bfd modules.....(bad exit status: 2)
ERROR (dkms apport): kernel package linux-headers-6.0.0-060000rc1daily20220820-generic is not supported
Error! Bad return status for module build on kernel: 6.0.0-060000rc1daily20220820-generic (x86_64)
Consult /var/lib/dkms/nvidia/515.48.07/build/make.log for more information.
   ...done.
Setting up linux-image-unsigned-6.0.0-060000rc1daily20220820-generic (6.0.0-060000rc1daily20220820.202208192242) ...
I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.19.2-051902-generic
I: /boot/initrd.img.old is now a symlink to initrd.img-5.19.2-051902-generic
I: /boot/vmlinuz is now a symlink to vmlinuz-6.0.0-060000rc1daily20220820-generic
I: /boot/initrd.img is now a symlink to initrd.img-6.0.0-060000rc1daily20220820-generic
Setting up linux-modules-6.0.0-060000rc1daily20220820-generic (6.0.0-060000rc1daily20220820.202208192242) ...
Processing triggers for linux-image-unsigned-6.0.0-060000rc1daily20220820-generic (6.0.0-060000rc1daily20220820.202208192242) ...
/etc/kernel/postinst.d/dkms:
 * dkms: running auto installation service for kernel 6.0.0-060000rc1daily20220820-generic

Building module:
cleaning build area...
make -j32 KERNELRELEASE=6.0.0-060000rc1daily20220820-generic all INCLUDEDIR=/lib/modules/6.0.0-060000rc1daily20220820-generic/build/include KVERSION=6.0.0-060000rc1daily20220820-generic DKMS_BUILD=1...(bad exit status: 2)
ERROR (dkms apport): binary package for evdi: 1.11.0 not found
Error! Bad return status for module build on kernel: 6.0.0-060000rc1daily20220820-generic (x86_64)
Consult /var/lib/dkms/evdi/1.11.0/build/make.log for more information.
applying patch disable_fstack-clash-protection_fcf-protection.patch...patching file Kbuild
Hunk #1 succeeded at 118 (offset 47 lines).


Building module:
cleaning build area...
unset ARCH; [ ! -h /usr/bin/cc ] && export CC=/usr/bin/gcc; env NV_VERBOSE=1 'make' -j16 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=6.0.0-060000rc1daily20220820-generic IGNORE_XEN_PRESENCE=1 IGNORE_CC_MISMATCH=1 SYSSRC=/lib/modules/6.0.0-060000rc1daily20220820-generic/build LD=/usr/bin/ld.bfd modules.....(bad exit status: 2)
ERROR (dkms apport): kernel package linux-headers-6.0.0-060000rc1daily20220820-generic is not supported
Error! Bad return status for module build on kernel: 6.0.0-060000rc1daily20220820-generic (x86_64)
Consult /var/lib/dkms/nvidia/515.48.07/build/make.log for more information.
   ...done.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.0.0-060000rc1daily20220820-generic
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.0.0-060000rc1daily20220820-generic
Found initrd image: /boot/initrd.img-6.0.0-060000rc1daily20220820-generic
Found linux image: /boot/vmlinuz-5.19.2-051902-generic
Found initrd image: /boot/initrd.img-5.19.2-051902-generic
Found linux image: /boot/vmlinuz-5.19.1-051901-generic
Found initrd image: /boot/initrd.img-5.19.1-051901-generic
Found linux image: /boot/vmlinuz-5.15.0-41-generic
Found initrd image: /boot/initrd.img-5.15.0-41-generic
Found linux image: /boot/vmlinuz-5.4.0-122-generic
Found initrd image: /boot/initrd.img-5.4.0-122-generic
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Windows Boot Manager on /dev/nvme0n1p2@/efi/Microsoft/Boot/bootmgfw.efi
Found Windows Boot Manager on /dev/nvme1n1p2@/efi/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings ...
done