Intereting Posts
Bash – Манипуляция с непрерывной строкой При установке виртуального бокса на 64-разрядную машину kali linux 2.0 мне нужно установить среду chroot? Динамически обновлять список завершений в zsh Почему sudo openvpn не может работать здесь? вырезание разных слов с вывода Выходные строки, содержащие конкретные строки Как отображать аудио визуализацию в VLC во время воспроизведения видео? Поддерживает ли конфигурация iscsi target и инициатор iscsi в двух Linux-узлах и использование Ethernet-кабеля для связи делает его SAN? для чего используется $ # в скрипте? Как отключить автоматическое отображение с помощью монитора DP Как я могу получить команду ‘date’, показывающую время AM / PM по умолчанию Разрешающий бит 730 для каталога? что это значит? Samba 4 имеет высокий уровень использования ЦП при доступе к подключенному диску через Windows Запуск GNU-параллелизма – на панели SGE зависает Правильное расположение программного обеспечения в разделе без загрузки

Как установить / сделать разделы раздела ядра 9, которые документируют его функции и структуры данных?

Источники ядра содержат функции и структуры данных, которые документированы, например, в 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 ядра ( /usr/share/man/man9 ), которые документируют вышеупомянутые функции и структуры данных?

Содержимое анализируется напрямую (см. Также) из исходных файлов .c 1 :

Для обеспечения встроенной, «C» дружественной, простой в обслуживании, но согласованной и извлекаемой документации о функциях и структурах данных в ядре Linux ядро ​​Linux приняло согласованный стиль для документирования функций и их параметров, а также структур и их члены.

Формат этой документации называется форматом kernel-doc. Он задокументирован в этом файле Documentation / kernel-doc-nano-HOWTO.txt.

Этот стиль включает документацию в исходные файлы, используя несколько простых соглашений. Скрипты / kernel-doc perl-скрипт, некоторые шаблоны SGML в Documentation / DocBook и другие инструменты понимают эти соглашения и используются для извлечения этой встроенной документации в различные документы. […]

Значок открытия комментария "/ **" зарезервирован для комментариев ядра. Только отмеченные таким образом комментарии будут рассмотрены сценариями kernel-doc, и любой отмеченный таким образом комментарий должен быть в формате kernel-doc.

Это означает, что только такие форматированные комментарии могут быть извлечены таким образом и что вы можете использовать скрипт Perl kernel-doc используемый процессом make :

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

и, следовательно, вы не ограничены целью мандалов :

После установки «make psdocs», «make pdfdocs», «make htmldocs» или «make mandocs» вы получите документацию в запрошенном формате.

В репозитории / источнике ядра есть также текстовые файлы, специфичные для драйвера. В более общем плане, их файл man man-страниц Linux ( man1 через man8 ) доступен для загрузки. На последней заметке kernel.org также поддерживает некоторую выходную документацию.


1. Ядро – не единственный случай, когда такой метод используется для генерации manpages. GNU coreutils – один из таких других случаев; большинство его manpages генерируются с использованием вывода command --help содержимое которой находится в функции использования файла с исходным кодом ( 1 2 ).

Предполагая, что вы используете Ubuntu,

 apt-get install linux-manual-3.2 

или аналогичные (выберите правильную версию). Существует также другой пакет документации

 apt-get install linux-doc 

но это html.

Загрузите исходный код ядра и в исполняемый файл источника

 make mandocs 

После того, как документы человека были сделаны, выполните

 make installmandocs 

Это установит страницы руководства в /usr/local/man/man9/ . Теперь вы можете просмотреть man-страницы, набрав man <api-name> , или если вы редактируете vim просто нажмите K над именем API.