3 注意:简体中文部分,基于原git仓库如下提交:
4 5fd15075f26048cb5d9f00d3b3aa5861543002ed
7 简体中文版本项目发起人:Felix Lee <felix@ivnss.com>
10 本项目保持Linux内核模块编程指南及时更新,使用[工作示例](example/)于最近的5.x内
12 本指南从2001年起就已经发布,并且在网页上可获得的大多本指南的版本,只是基于旧的
16 本书可通过网络访问 https://sysprog21.github.io/lkmpg/ 或 [最新PDF文件]
17 (https://github.com/sysprog21/lkmpg/releases)自由获得。
18 最初版本的指南,可以从 [Linux文档项目](http://www.tldp.org/LDP/lkmpg/) 上找到。
19 你可以从其它资源找到该指南,如 [自由可用的编程书籍]
20 (https://ebookfoundation.github.io/free-programming-books-search/) ,其也被列于
21 [自由电子书基金会](https://ebookfoundation.org/) 或 [Linux 在线电子书]
22 (https://onlinebooks.library.upenn.edu/webbin/book/browse?type=lcsubc&key=Linux),
23 也被收藏于[在线书籍网页](https://onlinebooks.library.upenn.edu/).
28 1. 从 [GitHub 网页](https://github.com/sysprog21/lkmpg) 得到最新源代码。
30 3. 产生 PDF 与/或 HTML 文档。
34 确保在你可以访问互联网的情况下,可以运行git工具软件。
37 $ git clone https://github.com/sysprog21/lkmpg.git && cd lkmpg
42 要从源代码生成本书, [TeXLive](https://www.tug.org/texlive/)
43 ([MacTeX](https://www.tug.org/mactex/)) 软件包是必需安装的。
45 对于 Ubuntu Linux, macOS, 与其它 Unix 风格的系统, 运行下列命令:
49 $ sudo apt install make texlive-full
52 $ sudo pacman -S make texlive-binextra texlive-bin
56 $ sudo tlmgr update --self
59 注意为产生PDF文件 `latexmk` 是必须的,并且该软件可能在你的系统上已经被安装了。
60 如未安装,按照[安装指南](https://mg.readthedocs.io/latexmk.html#installation)。
62 在 macOS 系统上,包`Pyments`可能没有被预安装。如未安装,在产生文档前请参考[安装
63 指南](https://pygments.org/download/) 。
65 另外,被推荐使用[Docker](https://docs.docker.com/),因为它担保我们的 GitHub 行
67 在你的机器上安装 [docker 引擎](https://docs.docker.com/engine/install/) 之后,
68 拉取docker镜像[twtug/lkmpg](https://hub.docker.com/r/twtug/lkmpg)并安装容器。
72 # pull docker image and run it as container
73 $ docker pull twtug/lkmpg
74 $ docker run --rm -it -v $(pwd):/workdir twtug/lkmpg
77 [nerdctl](https://github.com/containerd/nerdctl) 是一个 Docker 兼容的命令行工具
78 用于 [containerd](https://containerd.io/),并且你可以替换上面的 `docker` 命令,
81 ### 第三步: 产生 PDF 与/或 HTML 文档
86 $ make all # Generate PDF document
87 $ make html # Convert TeX to HTML
88 $ make clean # Delete generated files
93 Linux内核模块编程指南是一本自由书籍;你可以在遵守[开源软件许可协议]
94 (https://opensource.org/licenses/OSL-3.0) 条款的基础之上重生成/修改本书内容。
95 相关工作进行,由条款存在于`LICENSE`文件中的条款定义的版权许可协议决定。
98 补充示例代码,在GNU GPL 版本2 条款下被允许使用,与Linux内核使用相同的许可协议。