GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie erstelle ich die Kernel Abschnitt 9 Manpages Welche Dokumentfunktionen, Datenstrukturen und Header?

Die Kernelquellen enthalten Funktionen und Datenstrukturen die beispielsweise in panic.c dokumentiert sind :

/**
 *  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, ...)

Anstatt jedes Mal die Quellen durchzugehen, wäre es sinnvoll, diese APIs als Manpages anzuzeigen und nutzen Sie dieses vorhandene Dokumentations-Framework.

Wie installieren/erstellen Sie die Kernel-Abschnitt 9-Manpages (/usr/share/man/man9 ), die die oben genannten Funktionen und Datenstrukturen dokumentieren?

Akzeptierte Antwort:

Der Inhalt wird direkt (siehe auch hier) aus der Quelle geparst .c-Dateien:

Um eine eingebettete, C-freundliche, einfach zu wartende, aber
konsistente und extrahierbare Dokumentation der Funktionen und Datenstrukturen
im Linux-Kernel bereitzustellen, hat der Linux-Kernel eine
konsistente Stil zum Dokumentieren von Funktionen und ihren Parametern und
Strukturen und ihren Mitgliedern.

Das Format für diese Dokumentation wird als Kernel-Doc-Format bezeichnet. Es
ist in dieser Datei Documentation/kernel-doc-nano-HOWTO.txt dokumentiert.

Dieser Stil bettet die Dokumentation innerhalb der Quelldateien ein, wobei ein paar einfache Konventionen
verwendet werden. Das Perl-Skript scripts/kernel-doc, einige SGML
-Vorlagen in Documentation/DocBook und andere Tools verstehen diese
Konventionen und werden verwendet, um diese eingebettete Dokumentation in
verschiedene Dokumente zu extrahieren.
[…]

Das öffnende Kommentarzeichen „/**“ ist für Kernel-Doc-Kommentare reserviert.
Nur so markierte Kommentare werden von den Kernel-Doc-Skripten berücksichtigt,
und jeder so markierte Kommentar muss in Kernel-Doc stehen formatieren.

Das bedeutet, dass nur solche formatierten Kommentare auf diese Weise extrahiert werden können und dass Sie das kernel-doc nutzen könnten Perl Skript, das von make verwendet wird Prozess:

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

und dass Sie daher nicht auf die mandocs beschränkt sind Ziel:

Nach der Installation geben „make psdocs“, „make pdfdocs“, „make htmldocs“ oder
„make mandocs“ die Dokumentation im angeforderten Format aus.

Es gibt auch treiberspezifische Textdateien im Kernel-Repository/Quelle. Allgemeiner gesagt, ihr Linux-Man-Pages-Projekt (mann1 durch man8 ) steht zum Download bereit. Zu guter Letzt enthält kernel.org auch einige Ausgabedokumentationen.

Verwandte:„sudo:apt-get:Befehl nicht gefunden.“ nach dem Entfernen einiger Pakete?
Linux
  1. Linux – Woher kennt der Linux-Kernel Geräte-Major- und Minor-Nummern?

  2. Linux – Wie kann man feststellen, welches Modul den Kernel verschmutzt?

  3. Wie erstellt und wendet man einen SVN-Patch an?

  4. Wie debuggt man den Linux-Kernel mit GDB und QEMU?

  5. Wie kann ich tcpdump in eine Datei schreiben und die entsprechenden Daten standardmäßig ausgeben lassen?

So überprüfen Sie die Kernel-Version in Linux

Wie man den Befehl fuser unter Linux verwendet und optimal nutzt

Linux-Kernel und seine Funktionen

So verwenden Sie den which-Befehl in Linux

Wie kann ich grep die Zeilen unter und über jeder übereinstimmenden Zeile drucken lassen?

Wie überprüfe ich HZ im Terminal?