[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-71900":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":16,"starSnapshotCount":16,"syncStatus":40,"lastSyncTime":41,"discoverSource":42},71900,"lkmpg","sysprog21\u002Flkmpg","sysprog21","The Linux Kernel Module Programming Guide (updated for 5.0+ kernels)","https:\u002F\u002Fsysprog21.github.io\u002Flkmpg\u002F",null,"TeX",8498,618,149,6,0,3,13,33,9,39.38,"Open Software License 3.0",false,"master",true,[27,28,29,30,31,32,33,34,35,36,5],"books","c","device-driver","documentation","kernel","linux","linux-kernel","linux-kernel-driver","linux-kernel-module","lkm","2026-06-12 02:02:55","# The Linux Kernel Module Programming Guide\n\nThis project keeps the Linux Kernel Module Programming Guide up to date, with [working examples](examples\u002F) for recent 5.x and 6.x kernel versions.\nThe guide has been around since 2001 and most copies of it on the web only describe old 2.6.x kernels.\n\nThe book can be freely accessed via https:\u002F\u002Fsysprog21.github.io\u002Flkmpg\u002F or [latest PDF file](https:\u002F\u002Fgithub.com\u002Fsysprog21\u002Flkmpg\u002Freleases).\nThe original guide may be found at [Linux Documentation Project](http:\u002F\u002Fwww.tldp.org\u002FLDP\u002Flkmpg\u002F).\nYou may check other [freely available programming books](https:\u002F\u002Febookfoundation.github.io\u002Ffree-programming-books-search\u002F) listed by The [Free Ebook Foundation](https:\u002F\u002Febookfoundation.org\u002F) or [Linux online books](https:\u002F\u002Fonlinebooks.library.upenn.edu\u002Fwebbin\u002Fbook\u002Fbrowse?type=lcsubc&key=Linux) collected by [The Online Books Page](https:\u002F\u002Fonlinebooks.library.upenn.edu\u002F).\n\n## Getting Started\n\n### Summary\n1. Get the latest source code from the [GitHub page](https:\u002F\u002Fgithub.com\u002Fsysprog21\u002Flkmpg).\n2. Install the prerequisites.\n3. Generate PDF and\u002For HTML documents.\n\n### Step 1: Get the latest source code\n\nMake sure you can run `git` with an Internet connection.\n\n```shell\n$ git clone https:\u002F\u002Fgithub.com\u002Fsysprog21\u002Flkmpg.git && cd lkmpg\n```\n\n### Step 2: Install the prerequisites\n\nTo generate the book from source, [TeXLive](https:\u002F\u002Fwww.tug.org\u002Ftexlive\u002F) ([MacTeX](https:\u002F\u002Fwww.tug.org\u002Fmactex\u002F)) is required.\n\nFor Ubuntu Linux, macOS, and other Unix-like systems, run the following command(s):\n\n```bash\n# Debian \u002F Ubuntu\n$ sudo apt install make texlive-full\n\n# Arch \u002F Manjaro\n$ sudo pacman -S make texlive-binextra texlive-bin\n\n# macOS\n$ brew install mactex\n$ sudo tlmgr update --self\n```\n\nNote that `latexmk` is required to generated PDF, and it probably has been installed on your OS already. If not, please follow the [installation guide](https:\u002F\u002Fmg.readthedocs.io\u002Flatexmk.html#installation).\n\nIn macOS systems, package `Pygments` may not be pre-installed. If not, please refer to the [installation guide](https:\u002F\u002Fpygments.org\u002Fdownload\u002F) before generate documents.\n\nAlternatively, using [Docker](https:\u002F\u002Fdocs.docker.com\u002F) is recommended, as it guarantees the same dependencies with our GitHub Actions workflow.\nAfter install [docker engine](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002F) on your machine, pull the docker image [twtug\u002Flkmpg](https:\u002F\u002Fhub.docker.com\u002Fr\u002Ftwtug\u002Flkmpg) and run in isolated containers.\n\n```shell\n# pull docker image and run it as container\n$ docker pull twtug\u002Flkmpg\n$ docker run --rm -it -v $(pwd):\u002Fworkdir twtug\u002Flkmpg\n```\n\n[nerdctl](https:\u002F\u002Fgithub.com\u002Fcontainerd\u002Fnerdctl) is a Docker-compatible command line tool for [containerd](https:\u002F\u002Fcontainerd.io\u002F), and you can replace the above `docker` commands with `nerdctl` counterparts.\n\n### Step 3: Generate PDF and\u002For HTML documents\n\nNow we could build document with following commands:\n\n```bash\n$ make all              # Generate PDF document\n$ make html             # Convert TeX to HTML\n$ make clean            # Delete generated files\n```\n\n## License\n\nThe Linux Kernel Module Programming Guide is a free book; you may reproduce and\u002For modify it under the terms of the [Open Software License](https:\u002F\u002Fopensource.org\u002Flicenses\u002FOSL-3.0).\nUse of this work is governed by a copyleft license that can be found in the `LICENSE` file.\n\nThe complementary sample code is licensed under GNU GPL version 2, as same as Linux kernel.\n","该项目是更新至5.0+内核版本的Linux内核模块编程指南。它提供了适用于最新5.x和6.x内核的工作示例，确保了文档内容与当前技术同步。该指南采用TeX语言编写，通过GitHub进行维护，并提供PDF和HTML格式的电子书，方便开发者在线阅读或下载。适合于希望深入了解Linux内核模块开发、设备驱动程序编写的学习者及专业人员使用。此外，项目还支持通过Docker容器化环境来保证构建过程的一致性，简化了文档生成流程。",2,"2026-06-11 03:39:21","high_star"]