我正在尝试编译linux内核并使用自定义.config文件。

因此,我将.config复制到内核源所在的文件夹中,然后在该文件上运行“make oldconfig”以查看是否缺少任何内容。但是,这样做似乎可以将我的一些值修改回它们编辑之前的值:

< CONFIG_TRACEPOINTS=y
---
> CONFIG_TRACEPOINTS=n
< # CONFIG_DEBUG_RODATA is not set
< # CONFIG_DEBUG_SET_MODULE_RONX is not set
---
> CONFIG_DEBUG_RODATA=n
> CONFIG_DEBUG_SET_MODULE_RONX=n

如何获取oldconfig以保留修改后的值?

谢谢

最佳答案

通常,内核配置选项取决于其他配置选项。因此,即使您禁用一个配置选项,因为它已被其他配置选项启用,在执行make oldconfig后,它也会恢复为原始值

如果是CONFIG_TRACEPOINTS,则取决于其他标志TRACING [=y] || BLK_DEV_IO_TRACE [=y] && TRACING_SUPPORT [=y] && FTRACE [=y] && SYSFS [=y] && BLOCK [=y]或由其设置

尝试将其中之一与=n一起设置为CONFIG_TRACEPOINTS=n,并在执行make oldconfig后查看其是否持久。对我来说,设置CONFIG_FTRACE=n有效

如何找到依赖关系。运行make menuconfig。按/搜索config选项,然后查看Selected by。这些是配置标志,这些标志也在设置您的config选项。在其旁边查看其当前值。例如上面您可以看到TRACING_SUPPORT设置为y

07-24 13:08