GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo hacer que el kernel Sección 9 Manpages ¿Qué funciones de documento, estructuras de datos y encabezados?

Las fuentes del núcleo contienen funciones y estructuras de datos que están documentados, 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 aproveche este marco de documentación existente.

¿Cómo se instala/hace las páginas de manual de la sección 9 del kernel? (/usr/share/man/man9 ) que documentan las funciones y estructuras de datos antes mencionadas?

Respuesta aceptada:

El contenido se analiza directamente (ver también esto) desde la fuente Archivos .c:

Con el fin de proporcionar documentación incrustada, amigable con 'C', fácil de mantener, pero
consistente y extraíble de las funciones y estructuras de datos
en el kernel de Linux, el kernel de Linux ha adoptado un
consistente estilo para documentar funciones y sus parámetros, y
estructuras y sus miembros.

El formato de esta documentación se denomina formato kernel-doc. Está
documentado en este archivo Documentation/kernel-doc-nano-HOWTO.txt.

Este estilo incrusta la documentación dentro de los archivos fuente, usando algunas convenciones simples. El script perl scripts/kernel-doc, algunas plantillas SGML
en Documentación/DocBook y otras herramientas comprenden estas
convenciones y se utilizan para extraer esta documentación incrustada en
varios documentos.
[…]

La marca de comentario de apertura “/**” está reservada para los comentarios del kernel-doc.
Solo los comentarios así marcados serán considerados por los scripts del kernel-doc,
y cualquier comentario así marcado debe estar en el kernel-doc formato.

Lo que significa que solo los comentarios con ese formato se pueden extraer de esta manera y que podría aprovechar el kernel-doc Perl script usado por make proceso:

kernel-doc [ -docbook | -html | -html5 | -text | -man | -list ]
  [ -no-doc-sections ]
  [ -function funcname [ -function funcname ...] ]
  c file(s)s > outputfile

y por lo tanto que no está limitado a los mandocs objetivo:

Después de la instalación, "make psdocs", "make pdfdocs", "make htmldocs" o
"make mandocs" generarán la documentación en el formato solicitado.

También hay archivos de texto específicos del controlador en el repositorio/fuente del núcleo. En términos más generales, su proyecto de páginas de manual de Linux (hombre1 a través de man8 ) está disponible para su descarga. En una última nota, kernel.org también mantiene alguna documentación de salida.

Relacionado:"sudo:apt-get:comando no encontrado". después de eliminar algunos paquetes?
Linux
  1. ¿Cómo funcionan las macros probables/improbables en el kernel de Linux y cuál es su beneficio?

  2. ¿Cómo puedo hacer que grep imprima las líneas debajo y encima de cada línea coincidente?

  3. ¿Cómo hacer y aplicar el parche SVN?

  4. ¿Cómo verificar HZ en la terminal?

  5. ¿Cómo puedo hacer que tcpdump escriba en el archivo y genere de forma estándar los datos apropiados?

Cómo verificar la versión del kernel en Linux

Cómo usar y aprovechar al máximo el comando fuser en Linux

Kernel de Linux y sus funciones

El desafío y la promesa de Big Data

Cómo usar el comando which en Linux

¿Cómo depurar el kernel de Linux con GDB y QEMU?