为了解决问题我正在内核配置设置中查找:CONFIG_SECCOMP
、CONFIG_HAVE_ARCH_SECCOMP_FILTER
和CONFIG_SECCOMP_FILTER
。
第一个存在于内核的配置文件中,如下所示:CONFIG_SECCOMP=y
但其他两个根本不存在。这让我想知道如何解释它..
内核配置中缺少的设置是否应该被解释为<setting>=n
或被defaults
使用?
答案1
对于布尔或三态是/否/模块设置,missing 和n
是等效的。
布尔设置对应于已定义或未定义的 C 预处理器宏。源文件检查宏是否用#ifdef
.如果设置为n
,则宏未定义,相当于默认状态。
是/否/模块三态设置在 makefile 中扩展。设置选项以y
编译源文件并将生成的目标文件链接到主内核映像中。设置选项以m
编译源文件并将生成的目标文件作为单独的模块链接。设置为n
不会导致构建任何内容的选项。
某些配置选项不会对文件产生直接影响,而只会导致配置界面提示您输入一类设置。
.config
如果内核源代码树中有一个文件,则可以运行make oldconfig
以重新生成该文件,并删除未知选项,并添加文件中不存在的选项并添加其默认设置。如果通过将类别提示选项设置为 来跳过某些选项的类别,则会从结果文件中跳过某些选项n
。