Linux-Kernel核心配置中缺少的設置應該被解釋為
核心配置中缺少的設置應該被解釋為<setting>=n
還是使用defaults
?
為了解決問題,我正在查看我的核心配置設置
CONFIG_SECCOMP
:CONFIG_HAVE_ARCH_SECCOMP_FILTER
和CONFIG_SECCOMP_FILTER
.第一個存在於核心的配置文件中:
CONFIG_SECCOMP=y
但其他兩個根本不存在。這讓我想知道如何解釋..核心配置中缺少的設置應該被解釋為
<setting>=n
還是被defaults
使用?
對於布爾值或三態 yes/no/module 設置,缺少和
n
等價。布爾設置對應於已定義或未定義的 C 預處理器宏。源文件檢查宏是否用
#ifdef
. 如果設置為n
,則不定義宏,相當於預設狀態。是/否/模組三態設置在生成文件中擴展。選項設置為
y
編譯源文件並將生成的目標文件連結到主核心映像。選項設置為m
編譯源文件並將生成的目標文件連結為單獨的模組。選項設置為n
不會導致建構任何內容。某些配置選項對文件沒有直接影響,而只會導致配置界面提示您輸入一類設置。
如果您
.config
在核心原始碼樹中有一個文件,您可以執行make oldconfig
以重新生成該文件,其中刪除了未知選項以及添加了預設設置的文件中不存在的選項。如果通過將類別提示選項設置為來跳過某些選項的類別,則會從結果文件中跳過某些選項n
。