если я хочу включить модуль nvme, какой CONFIG_XXX должен быть y или m?
Насколько я знаю, не существует документации или единой команды, которая бы сообщала о Указывает c символ конфигурации, который создает модуль.
Однако Makefile , который фактически определяет сборку рассматриваемого модуля, является единственным авторитетным источником этой информации.
Как правило, соответствующий Makefile будет находиться в подкаталоге (или родительском каталоге) в качестве исходного модуля.
Если вы не уверены, где находится исходный модуль, вы можете найти все Makefile файлов в исходном коде ядра для условной сборки .o объектного файла:
$ find . -name Makefile | xargs grep nvme.o
./drivers/nvme/host/Makefile:obj-$(CONFIG_BLK_DEV_NVME) += nvme.o
... <irrelevant search results>
$
Таким образом, ответ будет CONFIG_BLK_DEV_NVME .
Примечание что подкаталог с соответствующим Makefile также будет иметь файл Kconfig , который описывает только что идентифицированный вами символ конфигурации.
Вместо того, чтобы вручную редактировать файл .config , используйте команду make menuconfig
.
Использование menuconfig гарантирует, что ваша конфигурация будет соответствовать всем зависимостям, и вызовет все авто -selections правильно.
Вы можете использовать функцию поиска (просто введите символ sla sh, /
и имя конфигурации), чтобы получить текст справки, который поможет вам найти расположение приглашения конфигурации.
Текст справки и состояние CONFIG_BLK_DEV_NVME может выглядеть следующим образом:
Symbol: BLK_DEV_NVME [=n]
Type : tristate
Prompt: NVM Express block device
Location:
-> Device Drivers
(1) -> NVME Support
Defined at drivers/nvme/host/Kconfig:4
Depends on: PCI [=n] && BLOCK [=y]
Selects: NVME_CORE [=n]
Selected by [n]:
- NVM [=n] && BLOCK [=y] && PCI [=n]
Текущее состояние / состояние каждой указанной конфигурации указывается в квадратных скобках и знаком равенства.
Строка Depends on:
указывает, что оба CONFIG_PCI и CONFIG_BLOCK должны быть включены, чтобы приглашение CONFIG_BLK_DEV_NVME было даже видимым.
Возможно, вам придется использовать возможность поиска, чтобы преобразовать эти другие имена CONFIG_xxx в их приглашения меню и местоположения.
Строка Selects:
указывает другие записи конфигурации, которые будут автоматически включены, если выбран этот элемент конфигурации.
Строка (и) Selected by [x]:
указывает другие записи конфигурации это может автоматически включить этот элемент конфигурации. В этом случае логическое выражение указывает, что при включении трех других записей конфигурации эта конфигурация также включается автоматически.