Las fuentes del núcleo contienen funciones y estructuras de datos que están documentadas, por ejemplo en 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, ...)
En lugar de revisar las fuentes cada vez, sería útil ver esas API como páginas de manual y aprovechar este marco de documentación existente.
¿Cómo se instala / crea las páginas de manual ( /usr/share/man/man9
) de la sección 9 del núcleo que documentan las funciones y estructuras de datos mencionadas anteriormente?
kernel
man
documentation
kakeh
fuente
fuente
Respuestas:
El contenido se analiza directamente (consulte también esto ) desde los archivos .c de origen 1 :
Lo que significa que solo dichos comentarios formateados se pueden extraer de esta manera y que podría aprovechar el script Perl utilizado por el proceso:
kernel-doc
make
y, por lo tanto, que no está limitado al objetivo de mandocs :
También hay archivos de texto específicos del controlador en el repositorio / fuente del kernel. En términos más generales, su proyecto de páginas de manual de Linux ( man1 a man8 ) está disponible para descargar. En una última nota, kernel.org también mantiene cierta documentación de salida .
1. El núcleo no es el único caso en el que se utiliza dicha técnica para generar páginas de manual. GNU coreutils es otro de esos casos; La mayoría de sus páginas de manual se generan utilizando la salida del
command --help
contenido del cual está en la función de uso el archivo fuente de la utilidad ( 1 2 ).fuente
Makefile:19: /Documentation/DocBook/media/Makefile: No such file or directory
Documentation/
no está presente en/
su presente en/lib/modules/3.2.0-57-generic-pae/build/
./scripts/kernel-doc -man ./**/*.c >mydoc
desde el directorio superior de fuentes y ver si no puede poner todo directamente en un archivo analizando las fuentes directamente .Asumiendo que estás usando Ubuntu,
o similar (elija la versión correcta). También hay otro paquete de documentación.
Pero esto es HTML.
fuente
man alloc_register_region
pero dijo que no hay entrada manual son documentos diferentes de las páginas man?Descargue el código fuente del kernel y en el directorio fuente ejecute
Después de que se hayan realizado los documentos man, ejecute
Esto instalará las páginas del manual en
/usr/local/man/man9/
. Ahora puede ver las páginas man escribiendoman <api-name>
, o si está editandovim
simplemente presione Ksobre el nombre de la API.fuente
/usr/src/linux-headers-5.0.0-38/Makefile
no tiene reglamandocs
tampocoinstallmandocs