Les sources du noyau contiennent des fonctions et des structures de données qui sont documentées, par exemple dans panic.c
:
/**
* panic - halt the system
* @fmt: The text string to print
*
* Display a message, then perform cleanups.
*
* This function never returns.
*/
void panic(const char *fmt, ...)
Au lieu de parcourir les sources à chaque fois, il serait utile de visualiser ces API comme des pages de manuel et de tirer parti de ce cadre de documentation existant.
Comment installer / créer les pages de manuel de la section 9 du noyau ( /usr/share/man/man9
) qui documentent les fonctions et les structures de données susmentionnées?
kernel
man
documentation
kakeh
la source
la source
Réponses:
Le contenu est analysé directement (voir aussi ceci ) à partir des fichiers source .c 1 :
Ce qui signifie que seuls ces commentaires formatés peuvent être extraits de cette façon et que vous pouvez tirer parti du script Perl utilisé par le processus:
kernel-doc
make
et donc que vous n'êtes pas limité à la cible mandocs :
Il existe également des fichiers texte spécifiques au pilote dans le référentiel / source du noyau. Plus généralement, leur projet de pages de manuel Linux ( man1 à man8 ) est disponible en téléchargement. Sur une dernière note, kernel.org conserve également une documentation de sortie .
1. Le noyau n'est pas le seul cas où une telle technique est utilisée pour générer des pages de manuel. GNU coreutils est un de ces autres cas; la plupart de ses pages de manuel sont générées en utilisant la sortie dont
command --help
le contenu est dans la fonction d' utilisation le fichier source de l'utilitaire ( 1 2 ).la source
Makefile:19: /Documentation/DocBook/media/Makefile: No such file or directory
Documentation/
n'est pas présent dans/
son présent dans/lib/modules/3.2.0-57-generic-pae/build/
./scripts/kernel-doc -man ./**/*.c >mydoc
partir du répertoire supérieur des sources et voir si vous ne pouvez pas tout mettre directement dans un fichier en analysant directement les sources .En supposant que vous utilisez Ubuntu,
ou similaire (choisissez la bonne version). Il existe également un autre package de documentation
mais c'est html.
la source
man alloc_register_region
mais a dit qu'aucune entrée manuelle n'est une documentation différente des pages de manuel ??Téléchargez le code source du noyau et exécutez-le dans le répertoire source
Une fois les documents de l'homme créés, exécutez
Cela installera les pages de manuel dans
/usr/local/man/man9/
. Vous pouvez maintenant afficher les pages de manuel en tapantman <api-name>
, ou si vous modifiez en appuyantvim
simplement Ksur le nom de l'API.la source
/usr/src/linux-headers-5.0.0-38/Makefile
n'a pas de règlemandocs
non plusinstallmandocs