To prepare for build this book on your local machine, we're going to have make, TeXLive (MacTeX), dvipng and latexmk installed. On various Unix/Linux operating systems, this can be done simply by:
```bash
# Debian / Ubuntu
$ sudo apt install make texlive-full latexmk dvipng
# Arch / Manjaro
$ sudo pacman -S make texlive-most texlive-bin dvipng
Now we could build document with following commands:
```bash
# download project
$ git clone https://github.com/sysprog21/lkmpg.git && cd lkmpg
# run commands
$ make all # compile pdf document
$ make html # convert to HTML
$ make clean # delete generated files
```
### Compile with Docker
The compile process could be run completely 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
# pull docker image and run it as container
$ docker pull twtug/lkmpg
$ docker run --rm -it -v $(pwd):/workdir twtug/lkmpg
The Linux Kernel Module Programming Guide is a free book; you may reproduce and/or modify it under the terms of the [Open Software License](https://opensource.org/licenses/OSL-3.0).