Categories
SysOps

How to install recent kernel using experimental Debian distribution

Install the most recent kernel using experimental Debian distribution to see what is coming up.

Operating system version.

$ lsb_release  -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye

Kernel version.

$ uname -a
Linux debian 5.10.0-15-amd64 #1 SMP Debian 5.10.120-1 (2022-06-09) x86_64 GNU/Linux

Available kernel packages.

$ apt-cache search ^linux-image                                 
linux-image-5.10.0-10-amd64-dbg - Debug symbols for linux-image-5.10.0-10-amd64
linux-image-5.10.0-10-amd64-unsigned - Linux 5.10 for 64-bit PCs        
linux-image-5.10.0-10-cloud-amd64-dbg - Debug symbols for linux-image-5.10.0-10-cloud-amd64 
linux-image-5.10.0-10-cloud-amd64-unsigned - Linux 5.10 for x86-64 cloud
linux-image-5.10.0-10-rt-amd64-dbg - Debug symbols for linux-image-5.10.0-10-rt-amd64
linux-image-5.10.0-10-rt-amd64-unsigned - Linux 5.10 for 64-bit PCs, PREEMPT_RT
linux-image-5.10.0-13-amd64-dbg - Debug symbols for linux-image-5.10.0-13-amd64
linux-image-5.10.0-13-amd64-unsigned - Linux 5.10 for 64-bit PCs        
linux-image-5.10.0-13-cloud-amd64-dbg - Debug symbols for linux-image-5.10.0-13-cloud-amd64 
linux-image-5.10.0-13-cloud-amd64-unsigned - Linux 5.10 for x86-64 cloud
linux-image-5.10.0-13-rt-amd64-dbg - Debug symbols for linux-image-5.10.0-13-rt-amd64
linux-image-5.10.0-13-rt-amd64-unsigned - Linux 5.10 for 64-bit PCs, PREEMPT_RT
linux-image-amd64-dbg - Debugging symbols for Linux amd64 configuration (meta-package)
linux-image-amd64-signed-template - Template for signed linux-image packages for amd64
linux-image-cloud-amd64-dbg - Debugging symbols for Linux cloud-amd64 configuration (meta-package)
linux-image-rt-amd64-dbg - Debugging symbols for Linux rt-amd64 configuration (meta-package)
linux-image-5.10.0-10-amd64 - Linux 5.10 for 64-bit PCs (signed)
linux-image-5.10.0-10-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)
linux-image-5.10.0-10-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-5.10.0-13-amd64 - Linux 5.10 for 64-bit PCs (signed)
linux-image-5.10.0-13-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)
linux-image-5.10.0-13-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-amd64 - Linux for 64-bit PCs (meta-package)
linux-image-cloud-amd64 - Linux for x86-64 cloud (meta-package)
linux-image-rt-amd64 - Linux for 64-bit PCs (meta-package)
linux-image-5.10.0-12-amd64-dbg - Debug symbols for linux-image-5.10.0-12-amd64
linux-image-5.10.0-12-amd64-unsigned - Linux 5.10 for 64-bit PCs
linux-image-5.10.0-12-cloud-amd64-dbg - Debug symbols for linux-image-5.10.0-12-cloud-amd64 
linux-image-5.10.0-12-cloud-amd64-unsigned - Linux 5.10 for x86-64 cloud
linux-image-5.10.0-12-rt-amd64-dbg - Debug symbols for linux-image-5.10.0-12-rt-amd64
linux-image-5.10.0-12-rt-amd64-unsigned - Linux 5.10 for 64-bit PCs, PREEMPT_RT
linux-image-5.10.0-14-amd64-dbg - Debug symbols for linux-image-5.10.0-14-amd64
linux-image-5.10.0-14-amd64-unsigned - Linux 5.10 for 64-bit PCs
linux-image-5.10.0-14-cloud-amd64-dbg - Debug symbols for linux-image-5.10.0-14-cloud-amd64 
linux-image-5.10.0-14-cloud-amd64-unsigned - Linux 5.10 for x86-64 cloud
linux-image-5.10.0-14-rt-amd64-dbg - Debug symbols for linux-image-5.10.0-14-rt-amd64
linux-image-5.10.0-14-rt-amd64-unsigned - Linux 5.10 for 64-bit PCs, PREEMPT_RT
linux-image-5.10.0-15-amd64-dbg - Debug symbols for linux-image-5.10.0-15-amd64
linux-image-5.10.0-15-amd64-unsigned - Linux 5.10 for 64-bit PCs
linux-image-5.10.0-15-cloud-amd64-dbg - Debug symbols for linux-image-5.10.0-15-cloud-amd64 
linux-image-5.10.0-15-cloud-amd64-unsigned - Linux 5.10 for x86-64 cloud
linux-image-5.10.0-15-rt-amd64-dbg - Debug symbols for linux-image-5.10.0-15-rt-amd64
linux-image-5.10.0-15-rt-amd64-unsigned - Linux 5.10 for 64-bit PCs, PREEMPT_RT
linux-image-5.10.0-11-amd64 - Linux 5.10 for 64-bit PCs (signed)
linux-image-5.10.0-11-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)
linux-image-5.10.0-11-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-5.10.0-12-amd64 - Linux 5.10 for 64-bit PCs (signed)
linux-image-5.10.0-12-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)
linux-image-5.10.0-12-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-5.10.0-14-amd64 - Linux 5.10 for 64-bit PCs (signed)
linux-image-5.10.0-14-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)
linux-image-5.10.0-14-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-5.10.0-15-amd64 - Linux 5.10 for 64-bit PCs (signed)
linux-image-5.10.0-15-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)
linux-image-5.10.0-15-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-5.10.0-8-amd64 - Linux 5.10 for 64-bit PCs (signed)
linux-image-5.10.0-8-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)
linux-image-5.10.0-8-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)

Add experimental repository.

$ sudo tee /etc/apt/sources.list.d/experimental.list <<EOF
deb     http://deb.debian.org/debian experimental main contrib non-free
deb-src http://deb.debian.org/debian experimental main contrib non-free
EOF
deb     http://deb.debian.org/debian experimental main contrib non-free
deb-src http://deb.debian.org/debian experimental main contrib non-free

Ipdate package index.

$ sudo apt update

Display available kernel packages.

$ apt-cache  search ^linux-image                                                                                                                               
linux-image-5.10.0-10-amd64-dbg - Debug symbols for linux-image-5.10.0-10-amd64
linux-image-5.10.0-10-amd64-unsigned - Linux 5.10 for 64-bit PCs        
linux-image-5.10.0-10-cloud-amd64-dbg - Debug symbols for linux-image-5.10.0-10-cloud-amd64 
linux-image-5.10.0-10-cloud-amd64-unsigned - Linux 5.10 for x86-64 cloud
linux-image-5.10.0-10-rt-amd64-dbg - Debug symbols for linux-image-5.10.0-10-rt-amd64
linux-image-5.10.0-10-rt-amd64-unsigned - Linux 5.10 for 64-bit PCs, PREEMPT_RT
linux-image-5.10.0-13-amd64-dbg - Debug symbols for linux-image-5.10.0-13-amd64
linux-image-5.10.0-13-amd64-unsigned - Linux 5.10 for 64-bit PCs        
linux-image-5.10.0-13-cloud-amd64-dbg - Debug symbols for linux-image-5.10.0-13-cloud-amd64 
linux-image-5.10.0-13-cloud-amd64-unsigned - Linux 5.10 for x86-64 cloud
linux-image-5.10.0-13-rt-amd64-dbg - Debug symbols for linux-image-5.10.0-13-rt-amd64
linux-image-5.10.0-13-rt-amd64-unsigned - Linux 5.10 for 64-bit PCs, PREEMPT_RT
linux-image-amd64-dbg - Debugging symbols for Linux amd64 configuration (meta-package)
linux-image-amd64-signed-template - Template for signed linux-image packages for amd64
linux-image-cloud-amd64-dbg - Debugging symbols for Linux cloud-amd64 configuration (meta-package)
linux-image-rt-amd64-dbg - Debugging symbols for Linux rt-amd64 configuration (meta-package)
linux-image-5.10.0-10-amd64 - Linux 5.10 for 64-bit PCs (signed)                       
linux-image-5.10.0-10-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)            
linux-image-5.10.0-10-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-5.10.0-13-amd64 - Linux 5.10 for 64-bit PCs (signed)             
linux-image-5.10.0-13-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)            
linux-image-5.10.0-13-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-amd64 - Linux for 64-bit PCs (meta-package)
linux-image-cloud-amd64 - Linux for x86-64 cloud (meta-package)
linux-image-rt-amd64 - Linux for 64-bit PCs (meta-package)
linux-image-5.10.0-12-amd64-dbg - Debug symbols for linux-image-5.10.0-12-amd64
linux-image-5.10.0-12-amd64-unsigned - Linux 5.10 for 64-bit PCs
linux-image-5.10.0-12-cloud-amd64-dbg - Debug symbols for linux-image-5.10.0-12-cloud-amd64 
linux-image-5.10.0-12-cloud-amd64-unsigned - Linux 5.10 for x86-64 cloud
linux-image-5.10.0-12-rt-amd64-dbg - Debug symbols for linux-image-5.10.0-12-rt-amd64
linux-image-5.10.0-12-rt-amd64-unsigned - Linux 5.10 for 64-bit PCs, PREEMPT_RT
linux-image-5.10.0-14-amd64-dbg - Debug symbols for linux-image-5.10.0-14-amd64
linux-image-5.10.0-14-amd64-unsigned - Linux 5.10 for 64-bit PCs
linux-image-5.10.0-14-cloud-amd64-dbg - Debug symbols for linux-image-5.10.0-14-cloud-amd64 
linux-image-5.10.0-14-cloud-amd64-unsigned - Linux 5.10 for x86-64 cloud
linux-image-5.10.0-14-rt-amd64-dbg - Debug symbols for linux-image-5.10.0-14-rt-amd64
linux-image-5.10.0-14-rt-amd64-unsigned - Linux 5.10 for 64-bit PCs, PREEMPT_RT
linux-image-5.10.0-15-amd64-dbg - Debug symbols for linux-image-5.10.0-15-amd64
linux-image-5.10.0-15-amd64-unsigned - Linux 5.10 for 64-bit PCs
linux-image-5.10.0-15-cloud-amd64-dbg - Debug symbols for linux-image-5.10.0-15-cloud-amd64 
linux-image-5.10.0-15-cloud-amd64-unsigned - Linux 5.10 for x86-64 cloud
linux-image-5.10.0-15-rt-amd64-dbg - Debug symbols for linux-image-5.10.0-15-rt-amd64
linux-image-5.10.0-15-rt-amd64-unsigned - Linux 5.10 for 64-bit PCs, PREEMPT_RT
linux-image-5.10.0-11-amd64 - Linux 5.10 for 64-bit PCs (signed)
linux-image-5.10.0-11-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)
linux-image-5.10.0-11-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-5.10.0-12-amd64 - Linux 5.10 for 64-bit PCs (signed)
linux-image-5.10.0-14-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)
linux-image-5.10.0-14-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-5.10.0-15-amd64 - Linux 5.10 for 64-bit PCs (signed)
linux-image-5.10.0-15-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)
linux-image-5.10.0-15-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-5.10.0-8-amd64 - Linux 5.10 for 64-bit PCs (signed)
linux-image-5.10.0-8-cloud-amd64 - Linux 5.10 for x86-64 cloud (signed)
linux-image-5.10.0-8-rt-amd64 - Linux 5.10 for 64-bit PCs, PREEMPT_RT (signed)
linux-image-5.19.0-rc4-amd64-dbg - Debug symbols for linux-image-5.19.0-rc4-amd64
linux-image-5.19.0-rc4-amd64-unsigned - Linux 5.19-rc4 for 64-bit PCs
linux-image-5.19.0-rc4-cloud-amd64-dbg - Debug symbols for linux-image-5.19.0-rc4-cloud-amd64
linux-image-5.19.0-rc4-cloud-amd64-unsigned - Linux 5.19-rc4 for x86-64 cloud
linux-image-5.19.0-rc4-rt-amd64-dbg - Debug symbols for linux-image-5.19.0-rc4-rt-amd64
linux-image-5.19.0-rc4-rt-amd64-unsigned - Linux 5.19-rc4 for 64-bit PCs, PREEMPT_RT
linux-image-5.19.0-rc4-amd64 - Linux 5.19-rc4 for 64-bit PCs (signed)
linux-image-5.19.0-rc4-cloud-amd64 - Linux 5.19-rc4 for x86-64 cloud (signed)
linux-image-5.19.0-rc4-rt-amd64 - Linux 5.19-rc4 for 64-bit PCs, PREEMPT_RT (signed)

Install most recent kernel.

$ sudo apt install linux-image-5.19.0-rc4-amd64
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
  linux-doc-5.19 debian-kernel-handbook
The following NEW packages will be installed:
  linux-image-5.19.0-rc4-amd64
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 69.8 MB of archives.
After this operation, 481 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian experimental/main amd64 linux-image-5.19.0-rc4-amd64 amd64 5.19~rc4-1~exp1 [69.8 MB]
Fetched 69.8 MB in 23s (2,996 kB/s)                                                                                                                                                   
Selecting previously unselected package linux-image-5.19.0-rc4-amd64.
(Reading database ... 34809 files and directories currently installed.)
Preparing to unpack .../linux-image-5.19.0-rc4-amd64_5.19~rc4-1~exp1_amd64.deb ...
Unpacking linux-image-5.19.0-rc4-amd64 (5.19~rc4-1~exp1) ...
Setting up linux-image-5.19.0-rc4-amd64 (5.19~rc4-1~exp1) ...
I: /vmlinuz.old is now a symlink to boot/vmlinuz-5.10.0-15-amd64
I: /initrd.img.old is now a symlink to boot/initrd.img-5.10.0-15-amd64
I: /vmlinuz is now a symlink to boot/vmlinuz-5.19.0-rc4-amd64
I: /initrd.img is now a symlink to boot/initrd.img-5.19.0-rc4-amd64
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.19.0-rc4-amd64
/etc/kernel/postinst.d/zz-update-grub:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.19.0-rc4-amd64
Found initrd image: /boot/initrd.img-5.19.0-rc4-amd64
Found linux image: /boot/vmlinuz-5.10.0-15-amd64
Found initrd image: /boot/initrd.img-5.10.0-15-amd64
Found linux image: /boot/vmlinuz-5.10.0-13-amd64
Found initrd image: /boot/initrd.img-5.10.0-13-amd64
done

Reboot operating system.

$ sudo reboot

Display kernel version.

$ uname -a
Linux debian 5.19.0-rc4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 5.19~rc4-1~exp1 (2022-07-01) x86_64 GNU/Linux