2017-01-30 11 views
2

в defconfig файлов, вы можете установить параметры ядра, как, например:Какой подход использовать для ядра CONFIG_?

CONFIG_<optionName>=y 
CONFIG_<optionName>=m 
CONFIG_<optionName>=n 
# CONFIG_<optionName> is not set 

Я понимаю, что первые 2.

Что я хотел бы понять, есть разница между # 3 & # 4, и когда использовать каждый - особенно с учетом того, что исходные коды ядра могут использовать #ifdef CONFIG_ {...} и иногда, #if CONFIG_ {...}

в моем конкретном случае, я хочу сказать, что решительно Optionname является недоступен.

Благодаря

+0

Прошло некоторое время с тех пор, как я изучил это, но фактические определения макроса 'CONFIG_xxx' должны быть в' autoconf.h', файле заголовка, который создан на основе вашего файла конфигурации. Поэтому 'CONFIG_xxx не установлен ', а' CONFIG_xxx = n' должен быть эквивалентным. – Ram

ответ

0

CONFIG_ = п Это означает, что вы явно отключить этот конфигурационный элемент из файла defconfig. Так что в вашем файле .config он будет отображаться как # CONFIG_ не установлен.

# CONFIG_ не установлен В этом случае вы также явно отключите эту конфигурацию. Таким образом, сгенерированный файл конфигурации (.config) будет отображаться как # CONFIG_ не установлен.

Однако с помощью любого из этих параметров вы можете отключить элемент конфигурации; но, согласно комментарию @ Alexandre, кажется, что «не установлено» - это правильный путь.

Вы можете обратиться к ссылке ниже для более детальной информации о .config и defconfig файла:

What exactly does Linux kernel's `make defconfig` do?

+2

Нет, правильный способ отключения опции - использовать «не установлен». 'n' не должен использоваться (и никогда не используется в ядре, кроме unicore32 и тех, которые указаны с 2011 года). –

+0

@AlexandreBelloni, кажется, теперь это правильный ответ, когда я смотрю больше конфигураций и больше дистрибутивов – user3342339

1

CONFIG_<optionName>=n не является действительным. Это не так, как указано в параметрах Kconfig. # CONFIG_<optionName> is not set - это то, как вы указываете, что параметр не задан.

Смежные вопросы