Заголовок linux/kernel.h
, который используется для сборки модулей, является заголовком, который является частью исходного кода ядра . Когда модули собираются в дереве исходного кода ядра, используется именно эта версия.
Для сборки внешнего модуля процесс сборки ищет заголовок в /lib/modules/$(uname -r)/build/include/linux/sched.h
. Этот файл предоставляется пакетами заголовков ядра, , например. для производных Debian, пакет linux-headers-$(uname -r)
.
/usr/include/linux/kernel.h
предназначен для пользовательских процессов, а не для модулей ядра.
Макросы приоритета printk
теперь находятся вlinux/printk.h
иlinux/kern_levels.h
. Я предполагаю, что вы читаете оригинальное руководство , которое основано на серии ядер 2.6; для современных ядер вы должны прочитать обновленное руководство(в настоящее время для 5.6.7).
Вам нужно просто добавить следующее:
zstyle ':completion:*' insert-sections true
К сожалению, это не задокументировано, но вы можете увидеть это здесь из кода:https://github.com/zsh-users/zsh/blob/8becb893579af0ca41617a15d3afcbea588fe621/Completion/Unix/Command/_man#L448
Я протестировал его, и он работает.