The Linux Kernel Module Programming Guide is a documentation resource that teaches kernel module programming for modern Linux systems.
The guide addresses the problem that most existing copies of the Linux Kernel Module Programming Guide describe outdated 2.6.x kernel APIs and patterns. This project maintains the guide with current examples that work on 5.x and 6.x kernel versions, keeping the material relevant to developers working with contemporary kernels. The guide is generated from source using TeXLive and can be built as PDF or HTML documents.
Developers learning to write kernel modules for recent Linux versions should use this guide. It suits anyone building device drivers, kernel extensions, or other loadable kernel modules who needs accurate documentation matching their kernel version. The project provides working code examples alongside explanations, making it practical for hands-on learning. The guide is freely accessible both online and as downloadable PDF releases.
The project maintains active engagement with kernel evolution, regularly updating examples to track kernel API changes across versions. Documentation is built and validated through automated workflows, ensuring examples remain functional with current kernel releases. The repository accepts contributions to keep the material current as the Linux kernel continues to develop.