Hacker News new | past | comments | ask | show | jobs | submit login

Thanks for the article. Your writing style is fun and easy to read. Learning more about tracepoints and bpf is also on my TODO list, and I'll certainly re-read this later.

The 4.15.0-33 output from uname -r does not mean that your kernel version is 4.15.0, it's probably based on a later 4.15. The ubuntu package version is 4.15.0-33.36. I'm not sure what the 36 means here. There are no upstream 4.15 releases any more, the last was 4.15.18, in April 2018.

I know how it works in Debian, which is similar. E.g.:

-$ uname -a Linux mekker 4.17.0-3-amd64 #1 SMP Debian 4.17.17-1 (2018-08-18) x86_64 GNU/Linux

uname -r says 4.17.0-3, but that's the package name (linux-image-4.17.0-3-amd64). The actual version is 4.17.17-1, which means it's 4.17.17 with Debian patches.

The number 3 is the an ABI compatibility number. So, as long as the kernel ABI keeps the same, newer versions (e.g. 4.17.18) can use the same package name (4.17.0-3). However, if the ABI changes, the -3 is bumped to -4, it causes a new package in the repository and when installing it, the user has to recompile self-made modules.

The only reason for the .0 in the package version name is because there might be something expecting three numbers in that place (like it was with 2.6.x kernels).

https://www.debian.org/doc//manuals/debian-kernel-handbook/c...




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: