Linux-Kernel

核心配置中缺少的設置應該被解釋為<setting>=n還是使用defaults

  • August 24, 2016

為了解決問題,我正在查看我的核心配置設置CONFIG_SECCOMPCONFIG_HAVE_ARCH_SECCOMP_FILTERCONFIG_SECCOMP_FILTER.

第一個存在於核心的配置文件中:CONFIG_SECCOMP=y但其他兩個根本不存在。這讓我想知道如何解釋..

核心配置中缺少的設置應該被解釋為<setting>=n還是被defaults使用?

對於布爾值或三態 yes/no/module 設置,缺少和n等價。

布爾設置對應於已定義或未定義的 C 預處理器宏。源文件檢查宏是否用#ifdef. 如果設置為n,則不定義宏,相當於預設狀態。

是/否/模組三態設置在生成文件中擴展。選項設置為y編譯源文件並將生成的目標文件連結到主核心映像。選項設置為m編譯源文件並將生成的目標文件連結為單獨的模組。選項設置為n不會導致建構任何內容。

某些配置選項對文件沒有直接影響,而只會導致配置界面提示您輸入一類設置。

如果您.config在核心原始碼樹中有一個文件,您可以執行make oldconfig以重新生成該文件,其中刪除了未知選項以及添加了預設設置的文件中不存在的選項。如果通過將類別提示選項設置為來跳過某些選項的類別,則會從結果文件中跳過某些選項n

引用自:https://unix.stackexchange.com/questions/305540