Improve top-level documentation
This patch introduced the changes: - Build instructions - Strip duplicated commands - Add more hyperlinks - Mention nerdctl as Docker CLI replacement
This commit is contained in:
parent
62dbb1b7b8
commit
0400543038
56
README.md
56
README.md
|
@ -1,6 +1,6 @@
|
||||||
# The Linux Kernel Module Programming Guide
|
# The Linux Kernel Module Programming Guide
|
||||||
|
|
||||||
This project keeps the Linux Kernel Module Programming Guide reasonably up to date, with [working examples](examples/) for recent 5.x kernel versions.
|
This project keeps the Linux Kernel Module Programming Guide up to date, with [working examples](examples/) for recent 5.x kernel versions.
|
||||||
The guide has been around since 2001 and most copies of it on the web only describe old 2.6.x kernels.
|
The guide has been around since 2001 and most copies of it on the web only describe old 2.6.x kernels.
|
||||||
|
|
||||||
The book can be freely accessed via https://sysprog21.github.io/lkmpg/ or [latest PDF file](https://github.com/sysprog21/lkmpg/releases).
|
The book can be freely accessed via https://sysprog21.github.io/lkmpg/ or [latest PDF file](https://github.com/sysprog21/lkmpg/releases).
|
||||||
|
@ -8,9 +8,24 @@ The original guide may be found at [Linux Documentation Project](http://www.tldp
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
### Compile on Local Machine
|
### Summary
|
||||||
|
1. Get the latest source code from the [GitHub page](https://github.com/sysprog21/lkmpg).
|
||||||
|
2. Install the prerequisites.
|
||||||
|
3. Generate PDF and/or HTML documents.
|
||||||
|
|
||||||
To prepare for build this book on your local machine, we're going to install TeXLive (MacTeX). On various Unix/Linux operating systems, this can be done simply by:
|
### Step 1: Get the latest source code
|
||||||
|
|
||||||
|
Make sure you can run `git` with an Internet connection.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ git clone https://github.com/sysprog21/lkmpg.git && cd lkmpg
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 2: Install the prerequisites
|
||||||
|
|
||||||
|
To gernate the book from source, [TeXLive](https://www.tug.org/texlive/) ([MacTeX](https://www.tug.org/mactex/)) is required.
|
||||||
|
|
||||||
|
For Ubuntu Linux, macOS, and other Unix-like systems, run the following command(s):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Debian / Ubuntu
|
# Debian / Ubuntu
|
||||||
|
@ -24,35 +39,22 @@ $ brew install --cask mactex
|
||||||
$ sudo tlmgr update --self
|
$ sudo tlmgr update --self
|
||||||
```
|
```
|
||||||
|
|
||||||
Now we could build document with following commands:
|
Alternatively, using [Docker](https://docs.docker.com/) is recommended, as it guarantees the same dependencies with our GitHub Actions wokrflow.
|
||||||
|
After install [docker engine](https://docs.docker.com/engine/install/) on your machine, pull the docker image [twtug/lkmpg](https://hub.docker.com/r/twtug/lkmpg) and run in isolated containers.
|
||||||
```bash
|
|
||||||
# download project
|
|
||||||
$ git clone https://github.com/sysprog21/lkmpg.git && cd lkmpg
|
|
||||||
|
|
||||||
# run commands
|
|
||||||
$ make all # Generate PDFdocument
|
|
||||||
$ make html # Convert TeX to HTML
|
|
||||||
$ make clean # Delete generated files
|
|
||||||
```
|
|
||||||
|
|
||||||
### Compile with Docker
|
|
||||||
|
|
||||||
The compilation could be completed flawlessly using Docker. **Using Docker is recommended, as it guarantees the same dependencies with our GitHub Actions wokrflow.
|
|
||||||
|
|
||||||
After [install docker engine](https://docs.docker.com/engine/install/) on your machine, pulling the docker image [twtug/lkmpg](https://hub.docker.com/r/twtug/lkmpg) and compile with it.
|
|
||||||
|
|
||||||
Execute followings
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# download project
|
|
||||||
$ git clone https://github.com/sysprog21/lkmpg.git && cd lkmpg
|
|
||||||
|
|
||||||
|
```shell
|
||||||
# pull docker image and run it as container
|
# pull docker image and run it as container
|
||||||
$ docker pull twtug/lkmpg
|
$ docker pull twtug/lkmpg
|
||||||
$ docker run --rm -it -v $(pwd):/workdir twtug/lkmpg
|
$ docker run --rm -it -v $(pwd):/workdir twtug/lkmpg
|
||||||
|
```
|
||||||
|
|
||||||
# run commands
|
[nerdctl](https://github.com/containerd/nerdctl) is a Docker-compatible command line tool for [containerd](https://containerd.io/), and you can replace the above `docker` commands with `nerdctl` counterparts.
|
||||||
|
|
||||||
|
### Step 3: Generate PDF and/or HTML documents
|
||||||
|
|
||||||
|
Now we could build document with following commands:
|
||||||
|
|
||||||
|
```bash
|
||||||
$ make all # Generate PDF document
|
$ make all # Generate PDF document
|
||||||
$ make html # Convert TeX to HTML
|
$ make html # Convert TeX to HTML
|
||||||
$ make clean # Delete generated files
|
$ make clean # Delete generated files
|
||||||
|
|
Loading…
Reference in New Issue
Block a user