Ce projet maintient le guide de programmation du module du noyau Linux à jour, avec des exemples de travail pour les versions du noyau 5.x et 6.x récentes. Le guide existe depuis 2001 et la plupart des copies de celui-ci sur le Web ne décrivent que les anciens grains 2.6.x.
Le livre peut être accessible librement via https://sysprog21.github.io/lkmpg/ ou dernier fichier PDF. Le guide d'origine peut être trouvé dans Linux Documentation Project. Vous pouvez consulter d'autres livres de programmation disponibles gratuitement répertoriés par la Fondation Ebook gratuite ou les livres en ligne Linux collectés par la page des livres en ligne.
Assurez-vous de pouvoir exécuter git avec une connexion Internet.
$ git clone https://github.com/sysprog21/lkmpg.git && cd lkmpgPour générer le livre à partir de Source, TexLive (MacTex) est nécessaire.
Pour Ubuntu Linux, MacOS et d'autres systèmes de type UNIX, exécutez les commandes suivantes:
# 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 Notez que latexmk est nécessaire pour générer du PDF, et il a probablement été déjà installé sur votre système d'exploitation. Sinon, veuillez suivre le guide d'installation.
Dans les systèmes macOS, Pygments de package peuvent ne pas être préinstallés. Sinon, veuillez vous référer au guide d'installation avant de générer des documents.
Alternativement, l'utilisation de Docker est recommandée, car elle garantit les mêmes dépendances avec notre flux de travail GitHub Actions. Après installer Docker Engine sur votre machine, tirez l'image Docker TWTUG / LKMPG et exécutez dans des conteneurs isolés.
# pull docker image and run it as container
$ docker pull twtug/lkmpg
$ docker run --rm -it -v $( pwd ) :/workdir twtug/lkmpg NerdCTL est un outil de ligne de commande compatible Docker pour ContainerD, et vous pouvez remplacer les commandes docker ci-dessus par des homologues nerdctl .
Maintenant, nous pourrions construire un document avec les commandes suivantes:
$ make all # Generate PDF document
$ make html # Convert TeX to HTML
$ make clean # Delete generated files Le guide de programmation du module du noyau Linux est un livre gratuit; Vous pouvez le reproduire et / ou le modifier en vertu des termes de la licence de logiciel ouvert. L'utilisation de ces travaux est régie par une licence Copyleft qui peut être trouvée dans le fichier LICENSE .
L'exemple de code complémentaire est sous licence sous GNU GPL version 2, comme le même que le noyau Linux.