lkmpg

C/C++ 2025-08-11

Linux内核模块编程指南

该项目可将Linux内核模块编程指南保持最新,并提供最近5.x和6.x内核版本的示例。该指南自2001年以来就已经存在,网络上的大多数副本仅描述了旧的2.6.x内核。

可以通过https://sysprog21.gi***thub.io/lkmpg/自由访问该书,也可以通过最新的PDF文件访问。原始指南可以在Linux文档项目中找到。您可以查看免费电子书基金会列出的其他免费编程书籍或在线书页面收集的Linux在线书籍。

入门

概括

  1. 从GitHub页面获取最新的源代码。
  2. 安装先决条件。
  3. 生成PDF和/或HTML文档。

步骤1:获取最新的源代码

确保您可以通过Internet连接运行git

$ git clone https://github.*com**/sysprog21/lkmpg.git && cd lkmpg

步骤2:安装先决条件

要从Source生成该书,需要Texlive(Mactex)。

对于Ubuntu Linux,MacOS和其他类似Unix的系统,请运行以下命令:

 # Debian / Ubuntu
$ sudo apt install make texlive-full

# Arch / Manjaro
$ sudo pacman -S make texlive-binextra texlive-bin

# macOS
$ brew install mactex
$ sudo tlmgr update --self

请注意,生成PDF需要latexmk ,并且可能已经在您的操作系统上安装了。如果没有,请遵循“安装指南”。

在MacOS系统中,软件包的Pygments可能不会预先安装。如果没有,请在生成文档之前先参考“安装指南”。

另外,建议使用Docker,因为它可以保证与我们的GitHub Actions Workflow相同的依赖关系。在计算机上安装Docker Engine后,将Docker Image Twtug/ lkmpg拉动并在孤立的容器中运行。

lkmpg $ docker run --rm -it -v $(pwd):/workdir twtug/ lkmpg ">
 # pull docker image and run it as container
$ docker pull twtug/ lkmpg
$ docker run --rm -it -v $( pwd ) :/workdir twtug/ lkmpg

NERDCTL是用于容器的Docker兼容命令行工具,您可以用nerdctl对应物替换上述docker命令。

步骤3:生成PDF和/或HTML文档

现在,我们可以使用以下命令构建文档:

$ make all              # Generate PDF document
$ make html             # Convert TeX to HTML
$ make clean            # Delete generated files 

执照

Linux内核模块编程指南是一本免费书籍;您可以根据开放软件许可证的条款复制和/或修改它。这项工作的使用由可以在LICENSE文件中找到的CopyLeft许可证约束。

互补的样本代码根据GNU GPL版本2的许可,与Linux内核一样。

下载源码

通过命令行克隆项目:

git clone https://github.com/sysprog21/lkmpg.git