英语

配置目标和编辑器

此文件包含一些关于使用 make *config 的帮助信息。

使用 make help 列出所有可能的配置目标。

xconfig ('qconf'),menuconfig ('mconf') 和 nconfig ('nconf') 程序也具有嵌入的帮助文本。请务必查看导航、搜索和其他通用帮助文本。

gconfig ('gconf') 程序只有有限的帮助文本。

通用

新的内核版本通常会引入新的配置符号。更重要的是,新的内核版本可能会重命名配置符号。发生这种情况时,使用之前有效的 .config 文件并运行 “make oldconfig” 不一定能为您生成可用的新内核,因此您可能需要查看引入了哪些新的内核符号。

要查看新配置符号的列表,请使用

cp user/some/old.config .config
make listnewconfig

配置程序将列出所有新的符号,每行一个。

或者,您可以使用蛮力方法

make oldconfig
scripts/diffconfig .config.old .config | less

环境变量

*config 的环境变量

KCONFIG_CONFIG

此环境变量可用于指定默认的内核配置文件名,以覆盖默认名称“.config”。

KCONFIG_DEFCONFIG_LIST

此环境变量指定可用作基本配置的配置文件列表,以防 .config 尚不存在。列表中的条目用空格分隔,并且使用第一个存在的条目。

KCONFIG_OVERWRITECONFIG

如果您在环境中设置 KCONFIG_OVERWRITECONFIG,当 .config 是指向其他位置的符号链接时,Kconfig 不会破坏符号链接。

KCONFIG_WARN_UNKNOWN_SYMBOLS

此环境变量使 Kconfig 警告配置输入中所有无法识别的符号。

KCONFIG_WERROR

如果设置,Kconfig 将警告视为错误。

CONFIG_

如果您在环境中设置 CONFIG_,则 Kconfig 在保存配置时将所有符号加上其值作为前缀,而不是使用默认的 CONFIG_

{allyes/allmod/allno/rand}config 的环境变量

KCONFIG_ALLCONFIG

allyesconfig/allmodconfig/allnoconfig/randconfig 变体还可以使用环境变量 KCONFIG_ALLCONFIG 作为标志或包含用户需要设置为特定值的配置符号的文件。如果 KCONFIG_ALLCONFIG 在没有文件名的情况下使用,其中 KCONFIG_ALLCONFIG == “” 或 KCONFIG_ALLCONFIG == “1”,make *config 将检查名为 “all{yes/mod/no/def/random}.config”(对应于使用的 *config 命令)的文件,以查找要强制设置的符号值。如果找不到此文件,它将检查名为 “all.config” 的文件是否包含强制值。

这使您可以创建 “微型” 配置 (miniconfig) 或自定义配置文件,其中仅包含您感兴趣的配置符号。然后,内核配置系统将生成完整的 .config 文件,包括您的微型配置文件的符号。

这个 KCONFIG_ALLCONFIG 文件是一个配置文件,其中包含(通常是所有符号的子集)预设的配置符号。这些变量设置仍受正常的依赖关系检查的约束。

示例

KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig

KCONFIG_ALLCONFIG=mini.config make allnoconfig

make KCONFIG_ALLCONFIG=mini.config allnoconfig

这些示例将禁用大多数选项 (allnoconfig),但启用或禁用在指定的微型配置文件中明确列出的选项。

randconfig 的环境变量

KCONFIG_SEED

如果要以某种方式调试 kconfig 解析器/前端的行为,可以将此值设置为用于播种 RNG 的整数值。如果未设置,将使用当前时间。

KCONFIG_PROBABILITY

此变量可用于倾斜概率。此变量可以未设置或为空,或设置为三种不同的格式

KCONFIG_PROBABILITY

y:n 分割

y:m:n 分割

未设置或为空

50 : 50

33 : 33 : 34

N

N : 100-N

N/2 : N/2 : 100-N

[1] N:M

N+M : 100-(N+M)

N : M : 100-(N+M)

[2] N:M:L

N : 100-N

M : L : 100-(M+L)

其中 N、M 和 L 是 [0,100] 范围内的整数(以 10 为底),因此

[1] N+M 在 [0,100] 范围内

[2] M+L 在 [0,100] 范围内

示例

KCONFIG_PROBABILITY=10
    10% of booleans will be set to 'y', 90% to 'n'
    5% of tristates will be set to 'y', 5% to 'm', 90% to 'n'
KCONFIG_PROBABILITY=15:25
    40% of booleans will be set to 'y', 60% to 'n'
    15% of tristates will be set to 'y', 25% to 'm', 60% to 'n'
KCONFIG_PROBABILITY=10:15:15
    10% of booleans will be set to 'y', 90% to 'n'
    15% of tristates will be set to 'y', 15% to 'm', 70% to 'n'

syncconfig 的环境变量

KCONFIG_NOSILENTUPDATE

如果此变量具有非空值,则会阻止静默内核配置更新(需要显式更新)。

KCONFIG_AUTOCONFIG

可以设置此环境变量以指定 “auto.conf” 文件的路径和名称。其默认值为 “include/config/auto.conf”。

KCONFIG_AUTOHEADER

可以设置此环境变量以指定 “autoconf.h”(头文件)文件的路径和名称。其默认值为 “include/generated/autoconf.h”。

nconfig

nconfig 是一个替代的基于文本的配置器。它在终端(窗口)底部列出执行命令的功能键。您还可以只使用相应的数字键来执行命令,除非您在数据输入窗口中。例如,您可以按 6 而不是 F6 进行保存。

使用 F1 获取全局帮助或 F3 获取简短帮助菜单。

在 nconfig 中搜索

您可以在菜单条目的 “prompt” 字符串或配置符号中进行搜索。

使用 / 开始搜索菜单条目。这不支持正则表达式。使用 <Down> 或 <Up> 分别用于下一个匹配和上一个匹配。使用 <Esc> 终止搜索模式。

F8 (SymSearch) 在配置符号中搜索给定的字符串或正则表达式 (regex)。

在 SymSearch 中,按 (#) 前缀中的键将直接跳转到该位置。退出此新菜单后,您将返回到当前的搜索结果。

环境变量

NCONFIG_MODE

此模式在一个大的树中显示所有子菜单。

示例

make NCONFIG_MODE=single_menu nconfig

xconfig

在 xconfig 中搜索

搜索功能会搜索内核配置符号名称,因此您必须知道一些接近您要查找的内容。

示例

Ctrl-F hotplug

Menu: File, Search, hotplug

列出符号名称中包含 “hotplug” 的所有配置符号条目。在此 “搜索” 对话框中,您可以更改任何未灰显的条目的配置设置。您也可以输入不同的搜索字符串,而无需返回主菜单。

gconfig

在 gconfig 中搜索

gconfig 中没有搜索命令。但是,gconfig 确实有几种不同的查看选择、模式和选项。