我可以在构建内核之前以编程方式生成.config
文件,其中包含一些预先选择的值(例如,例如CONFIG_DEBUG_INFO
)。像make defconfig CONFIG_DEBUG_INFO=y && make
?
答案 0 :(得分: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
这将对其进行配置,以便除了默认配置中的内容(包括体系结构默认配置加上您已启用的预选值)及其依赖项之外,所有内容都将关闭。有关详细信息,请参阅the kconfig documentation。
编辑在我自己测试之后,这不太正确,因为它没有获取未包含在架构默认值中的默认值。相反,您可能希望使用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
答案 1 :(得分:0)
您可以使用所需选项创建.config,然后运行make oldconfig
。这将采用它在配置中可以找到的所有选项,并询问您未设置的选项。或者,您可以运行make olddefconfig
,它会执行相同操作,但不会询问,而是使用默认值来查找未找到的选项。