设置内核的构建选项

时间:2013-11-07 21:11:03

标签: linux bash linux-kernel makefile

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

这样的东西

2 个答案:

答案 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,它会执行相同操作,但不会询问,而是使用默认值来查找未找到的选项。