配置目标和编辑器¶
此文件包含使用 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 中搜索
您可以搜索菜单项 “提示” 字符串或配置符号。
使用 / 开始搜索菜单条目。 这不支持正则表达式。 使用 <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 确实有几种不同的查看选项、模式和选项。