Исходники ядра содержат функции и структуры данных, которые документированы, например, в 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, ...)
Вместо того, чтобы каждый раз просматривать источники, было бы полезно рассматривать эти API как справочные страницы и использовать существующую структуру документации.
Как установить / сделать раздел ядра 9 manpages ( /usr/share/man/man9
), который документирует вышеупомянутые функции и структуры данных?
kernel
man
documentation
kakeh
источник
источник
Ответы:
Содержание анализируется непосредственно (см также это ) от источника .c файлов 1 :
Это означает, что таким образом могут быть извлечены только такие отформатированные комментарии, и что вы можете использовать скрипт Perl, используемый процессом:
kernel-doc
make
и , следовательно, вы не ограничены mandocs цели :
В репозитории / источнике ядра также есть текстовые файлы драйверов . В более общем плане, их проект man-страниц Linux (от man1 до man8 ) доступен для скачивания. И последнее замечание: kernel.org также поддерживает некоторую выходную документацию.
1. Ядро - не единственный случай, когда такая техника используется для генерации man-страниц. GNU coreutils - еще один такой случай; большинство его страниц руководств которые генерируются с использованием выходного сигнала
command --help
содержания , который находится в использовании функции утилиты исходного файл ( 1 2 ).источник
Makefile:19: /Documentation/DocBook/media/Makefile: No such file or directory
Documentation/
его нет в/
настоящем/lib/modules/3.2.0-57-generic-pae/build/
./scripts/kernel-doc -man ./**/*.c >mydoc
в верхнем каталоге sources и посмотреть, не можете ли вы поместить все сразу в один файл, проанализировав источники напрямую. ,Предполагая, что вы используете Ubuntu,
или аналогичный (выберите правильную версию). Существует также еще один пакет документации
но это HTML.
источник
man alloc_register_region
но сказал, что никакой ручной ввод документов не отличается от справочных страниц ??Загрузите исходный код ядра и в исходном каталоге выполните dir
После того, как мужчина документы были сделаны, выполните
Это установит справочные страницы в
/usr/local/man/man9/
. Теперь вы можете просматривать справочные страницы, набравman <api-name>
, или, если вы редактируете,vim
просто нажмите Kна имя API.источник
/usr/src/linux-headers-5.0.0-38/Makefile
не не правилmandocs
ниinstallmandocs