Źródła jądra zawierają funkcje i struktury danych, które są udokumentowane, na przykład w 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, ...)
Zamiast za każdym razem przeglądać źródła, przydatne byłoby przeglądanie tych interfejsów API jako stron podręcznika i wykorzystanie istniejącej struktury dokumentacji.
W jaki sposób instalujesz / tworzysz sekcję 9 manpages ( /usr/share/man/man9
) dotyczącą jądra, która dokumentuje wyżej wymienione funkcje i struktury danych?
kernel
man
documentation
kakeh
źródło
źródło
Odpowiedzi:
Zawartość jest analizowana bezpośrednio (patrz także to ) ze źródłowych plików .c 1 :
Co oznacza, że tylko takie sformatowane komentarze można wyodrębnić w ten sposób i że można wykorzystać skrypt Perla używany przez proces:
kernel-doc
make
i dlatego nie jesteś ograniczony do celu mandoc :
Istnieją również pliki tekstowe specyficzne dla sterownika w repozytorium / źródle jądra. Mówiąc bardziej ogólnie, ich projekt stron man Linuxa (od man1 do man8 ) jest dostępny do pobrania. W ostatniej notatce kernel.org prowadzi również dokumentację wyjściową .
1. Jądro nie jest jedynym przypadkiem, w którym taka technika jest używana do generowania stron podręcznika. Coreutils GNU to jeden z takich przypadków; większość jego stron jest generowanych przy użyciu danych wyjściowych,
command --help
których zawartość jest w funkcji użycia źródłowym pliku narzędziowym ( 1 2 ).źródło
Makefile:19: /Documentation/DocBook/media/Makefile: No such file or directory
Documentation/
nie jest obecny w/
swoim obecnym/lib/modules/3.2.0-57-generic-pae/build/
./scripts/kernel-doc -man ./**/*.c >mydoc
z górnego katalogu źródeł i sprawdzić, czy nie możesz umieścić wszystkich bezpośrednio w jednym pliku, bezpośrednio analizując źródła .Zakładając, że używasz Ubuntu,
lub podobny (wybierz odpowiednią wersję). Istnieje również inny pakiet dokumentacji
ale to jest HTML.
źródło
man alloc_register_region
ale powiedział, że nie ma ręcznego wprowadzania, że dokumenty różnią się od stron podręcznika?Pobierz kod źródłowy jądra i uruchom katalog źródłowy
Po utworzeniu dokumentów man wykonaj polecenie
Spowoduje to zainstalowanie stron podręcznika w
/usr/local/man/man9/
. Teraz możesz przeglądać strony podręcznikaman <api-name>
, pisząc lub, jeśli edytujesz, povim
prostu naciśnij Knazwę interfejsu API.źródło
/usr/src/linux-headers-5.0.0-38/Makefile
też nie mamandocs
żadnej regułyinstallmandocs