2

我可以.config在构建内核之前以编程方式生成一个文件,其中包含一些预先选择的值(CONFIG_DEBUG_INFO例如)。像make defconfig CONFIG_DEBUG_INFO=y && make什么?

4

2 回答 2

3

我认为您应该能够使用架构的默认配置以及make allnoconfig. 你应该做的是复制你的架构的默认配置,比如说my-custom.config,添加你想要的符号,然后运行make KCONFIG_ALLCONFIG=my-custom.config allnoconfig​​. 完整地,对于 x86_64:

$ cp arch/x86/configs/x86_64_defconfig my-custom.config
$ cat "CONFIG_DEBUG_INFO=y" >> my-custom.config
$ make KCONFIG_ALLCONFIG=my-custom.config allnoconfig

这将对其进行配置,以便除默认配置中的内容(包括体系结构默认配置以及您已启用的预选值)及其依赖项之外的所有内容均已关闭。有关详细信息,请参阅kconfig 文档

编辑在我自己测试之后,这不太正确,因为它不会选择不包含在架构默认值中的默认值。相反,您可能希望使用 为您的架构生成一个默认配置make defconfig,向其中添加您的特定调整,然后使用它执行 allnoconfig 技巧:

$ make KCONFIG_CONFIG=my-custom.config defconfig
$ echo "CONFIG_DEBUG_INFO=y" >> my-custom.config
$ make KCONFIG_ALLCONFIG=my-custom.config allnoconfig
于 2013-11-07T22:04:59.387 回答
0

您可以使用所需的选项创建一个 .config,然后运行make oldconfig​​. 这将采用它可以在配置中找到的所有选项,并询问您未设置的选项。或者,您可以运行make olddefconfigwhich 执行相同但不询问,使用未找到的选项的默认值。

于 2013-11-08T14:48:17.500 回答