2011-06-26 88 views
13

配置Linux內核時,我通常從我的發行版的內核配置文件開始。我經常想關閉一些條目,但它們有時是不可更改的,因爲其他依賴於它的CONFIG選項被啓用。在Linux內核版本上遞歸禁用CONFIG依賴關係

我可以手動查找依賴關係,這往往依賴於他們自己的依賴關係。通過它們完成所花費的時間可能相當耗時,特別是如果您試圖關閉諸如CONFIG_KALLSYMS之類的東西。

問:有沒有指定要離去配置選項中的一種方式,並已全部依賴自動選擇/ disselected作爲nessisary適合你?我瀏覽了所有make選項和腳本目錄,但沒有看到任何可用的內容。

UPDATE:有人回答說:make oldconfig應該做刪除(刪除)從config文件所需的CONFIG選項後的工作,但沒有工作(他的回答後消失):

$ make oldconfig 
scripts/kconfig/conf -o arch/x86/Kconfig 
* 
* Restart config... 
* 
* 
* Configure standard kernel features (for small systems) 
* 
Configure standard kernel features (for small systems) (EMBEDDED) [N/y/?] n 
    Load all symbols for debugging/ksymoops (KALLSYMS) [Y/?] (NEW) y 
    Include all symbols in kallsyms (KALLSYMS_ALL) [Y/?] (NEW) y 
    Do an extra kallsyms pass (KALLSYMS_EXTRA_PASS) [N/y/?] (NEW) 

它自動地說前兩個是「y」兩個,我試圖找到一種自動的方式來移除它們並讓它們消失。

+0

我不認爲你可以關閉KALLSYMS,除非EMBEDDED是y--如果這是你的目標,可能值得用'make oldconfig'來嘗試。 –

+1

我粗體顯示了這個問題的真相:根據需要自動選擇/分解所有依賴關係 –

+1

我想我會檢查以防止您僅嘗試使用您的示例。它看起來像Kconfiglib是可以研究的東西,因爲它看起來依賴於依賴關係:http://lwn.net/Articles/426013/ - 但除此之外,我找到了關於這個問題的討論,但沒有解決。 –

回答

7

對於任何基於這一點,可能會絆倒,Kconfiglib現在住在https://github.com/ulfalizer/Kconfiglib和經拋光處理和更新獲得最新的Kconfig版本(Linux 3.7.0-rc8)。安裝也大大簡化了。

更新:

Kconfiglib已更新爲的Linux V4.0-RC3現在,測試套件通過在強迫模式。添加了一個新的option allnoconfig_y選項(用於在make allnoconfig期間使某些符號保留爲y),它被禁止。

抱歉讓Kconfiglib bitrot有一陣子! :/

隨意發佈您可能擁有的與Kconfig相關的任何問題(不一定與Kconfiglib相關),並將它們連接在一起(或以其他方式通知我)。 Kconfig有很多模糊的角落。