GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare la sezione del kernel 9 Manpage Quali funzioni del documento, strutture di dati e intestazioni?

I sorgenti del kernel contengono funzioni e strutture di dati che sono documentati, ad esempio in 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, ...)

Invece di esaminare i sorgenti ogni volta, sarebbe utile visualizzare quelle API come manpage e sfruttare questa struttura di documentazione esistente.

Come si installano/creano le manpage della sezione 9 del kernel (/usr/share/man/man9 ) che documentano le suddette funzioni e strutture dati?

Risposta accettata:

Il contenuto viene analizzato direttamente (vedi anche questo) dalla fonte File .c:

Al fine di fornire una documentazione incorporata, 'C' friendly, di facile manutenzione, ma
coerente ed estraibile delle funzioni e delle strutture di dati
nel kernel Linux, il kernel Linux ha adottato una
coerente stile per la documentazione delle funzioni e dei loro parametri, e
strutture e loro membri.

Il formato per questa documentazione è chiamato formato kernel-doc. È
è documentato in questo file Documentation/kernel-doc-nano-HOWTO.txt.

Questo stile incorpora la documentazione all'interno dei file di origine, utilizzando poche e semplici convenzioni. Lo script perl scripts/kernel-doc, alcuni modelli SGML
in Documentation/DocBook e altri strumenti comprendono queste
convenzioni e vengono utilizzati per estrarre questa documentazione incorporata in
vari documenti.
/> […]

Il contrassegno di commento di apertura "/**" è riservato ai commenti kernel-doc.
Solo i commenti così contrassegnati verranno considerati dagli script kernel-doc,
e qualsiasi commento così contrassegnato deve essere in kernel-doc formato.

Ciò significa che solo tali commenti formattati possono essere estratti in questo modo e che potresti sfruttare il kernel-doc Perl script utilizzato da make processo:

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

e quindi che non sei limitato ai mandoc obiettivo:

Dopo l'installazione, "make psdocs", "make pdfdocs", "make htmldocs" o
"make mandocs" renderanno la documentazione nel formato richiesto.

Ci sono anche file di testo specifici del driver nel repository/sorgente del kernel. Più in generale, il loro progetto di pagine man di Linux (uomo1 tramite man8 ) è disponibile per il download. Infine, kernel.org mantiene anche della documentazione di output.

Correlati:"sudo:apt-get:comando non trovato." dopo aver rimosso alcuni pacchetti?
Linux
  1. Linux:in che modo il kernel Linux conosce i numeri maggiori e minori del dispositivo?

  2. Linux:come determinare quale modulo contamina il kernel?

  3. Come eseguire il debug del kernel Linux con GDB e QEMU?

  4. come fare in modo che meno cercapersone risponda alla rotella di scorrimento e non cancellare lo schermo

  5. Come impostare la posizione (e il nome) del file di dump principale?

Come controllare la versione del kernel in Linux

Come usare e sfruttare al meglio il comando fusore in Linux

Kernel Linux e le sue funzioni

Come verificare se un tubo è vuoto ed eseguire un comando sui dati in caso contrario?

La sfida e la promessa dei big data

Come utilizzare il comando which in Linux