Versions

Check

lsb_release -a
uname -a
cat /etc/*-release
dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+'

delete

apt purge ...
dpkg --purge ...

Commit logs

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/

.deb download

http://kernel.ubuntu.com/~kernel-ppa/mainline/
http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/current/

Dynamic Kernel Module Support (DKMS)

https://wiki.archlinux.org/index.php/Dynamic_Kernel_Module_Support

DKMS modules automatically rebuilt when a new kernel is installed.

Compiling

https://www.ibm.com/developerworks/community/blogs/5144904d-5d75-45ed-9d2b-cf1754ee936a/entry/kernel-build-system?lang=en (Chinese)

debug

scripts/config --enable DEBUG_INFO
make clean

.config

oldconfig: /boot/config* # compiled parameters
Force pass overwriten: https://lists.kernelnewbies.org/pipermail/kernelnewbies/2013-May/008287.html

Install .deb manually

wget http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb

ar x linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb
tar -Jxf data.tar.xz
install -m644 boot/vmlinuz-4.9.0-rc8-amd64 /boot/vmlinuz-4.9.0-rc8-amd64
cp -Rav lib/modules/4.9.0-rc8-amd64 /lib/modules/
depmod -a 4.9.0-rc8-amd64

dracut -f -v --hostonly -k '/lib/modules/4.9.0-rc8-amd64'  /boot/initramfs-4.9.0-rc8-amd64.img 4.9.0-rc8-amd64

Ref: https://www.mf8.biz/linux-kernel-with-tcp-bbr/

initrd (initial ramdisk)

https://en.wikipedia.org/wiki/Initial_ramdisk
initrd and initramfs refer to two different methods of achieving this.

lsinitramfs /initrd.img

initrd scheme

the image may be a file system image (optionally compressed)
executes /sbin/init to begin the normal user-space boot process

initramfs scheme

available since the Linux kernel 2.6.13
the image may be a cpio archive (optionally compressed)
Tiny Core Linux and Puppy Linux can run entirely from initrd.

/etc/initramfs-tools/modules
update-initramfs -u -k all
update-initramfs -d -k 4.13.0-16-generic

dracut

create initial ramdisk images for preloading modules

/usr/lib/dracut/modules.d

/etc/dracut.conf.d/local.conf
    add_drivers+="vfio vfio_iommu_type1 vfio_pci vfio_virqfd"
dracut --force  # create /boot/initramfs-*.img

mkinitcpio

https://wiki.archlinux.org/index.php/Mkinitcpio mkinitcpio is the next generation of initramfs creation.

tracing

BPF /eBPF

https://qmonnet.github.io/whirl-offload/2016/09/01/dive-into-bpf/

bcc

https://github.com/iovisor/bcc/tree/master/tools

Kernel Versions

+ for Longterm

6.1 + 2022-12-11 -> Dec, 2026

5.19 2022-7-31
    NFSv4 Courteous Server

5.15  2021-10-31  -> Oct, 2023
    adds a new NTFS read-write implementation contributed by Parangon, supports NTFS 3.1
    ksmbd, a in-kernel SMB 3 server, not meant to replace Samba, have better performance and feature integration in some cases.


5.10 + 2020-12-13 -> Dec, 2026
    Ext4 fast commit
    Faster performance and memory consumption in virtio-fs

5.9 - 2020-10-11
    New cgroup slab controller shares slab memory
    NFS: extended attributes RFC 8276

5.4 + 2019-11-24  ->    Dec, 2025
    virtio-fs was added to share parts of the host file systems with guest VMs in a high-performance, API-compatible way

4.19 + 2018-10-22  ->   Dec, 2024

4.14 + 2017-11-12  ->   Jan, 2024
        XEN: introduce the frontend for the newly introduced PV Calls procotol
        igb: support BCM54616 PHY
        ixgbe: add initial support for xdp redirect
        phy: Add USB charger support
        xhci: Support enabling of compliance mode for xhci 1.1
        mediatek: Add controller support for MT2712 and MT7622 commit, add MSI support for MT2712 and MT7622

4.13 - 3 September, 2017 - Ubuntu 17.10 Artful

4.12 - 2 July, 2017

4.11 - 30 April, 2017

4.10 - 19 February, 2017 - Ubuntu 17.04 Zesty

4.9 + 2016-12-11  ->    Jan, 2023 - Debian 9 Stretch

4.8 - 2 October, 2016 - Ubuntu 16.10 Yakkety

4.7 - 24 July, 2016

4.6 - 15 May, 2016

4.5 - 13 March, 2016

4.4 + 2016-01-10  ->    Feb, 2022 - Ubuntu 16.04 Xenial

4.3 - 1 November, 2015

4.2 - 30 August, 2015

4.1 + 21 June, 2015

4.0 - 12 April, 2015
    livepatch is not feature complete, yet it provides a basic infrastructure

3.16 + 3 August, 2014 - Debian 8 Jessie 
3.13 - 19 January, 2014 - Ubuntu 14.04 Trusty
3.10 - 30 June, 2013 -  - RHEL 7
3.2 + 4 January, 2012
2.6.32 - 3 December, 2009 - RHEL 6

linux-next

for patches aimed at the next kernel merge window
https://www.kernel.org/doc/man-pages/linux-next.html