menuconfig


 

1. menuconfig 的存在意義

  原由是 項目的 config 項太多了,需要一個人性化的方式設置。

  menuconfig 背后是一個應用程序,用戶和該應用程序交互,完成 config 設置。

2. menuconfig 本質是什么

  當在 kernel 目錄執行 make menuconfig

[root@localhost kernel]# make menuconfig
scripts/kconfig/mconf arch/arm/Kconfig

  可知 make menuconfig 本質是 執行 scripts/kconfig/mconf 程序,其參數是 arch/arm/Kconfig

  scripts/kconfig/mconf 是基於 ncurses-devel 的應用, ncurses 是一個圖像化庫。

  首次執行 make menuconfig 時,進入 scripts/kconfig 進行對 mconf 的編譯

3. mconf 及其配置文件

  大多數應用程序都有配置文件,mconf也不列外,

  輸入配置文件為 Kconf

  輸入輸出配置文件 .config

  mconf 根據 Kconf 決定如何顯示和交互規則,根據.config 載入已經被選擇的設置。

  mconf save 會將配置回寫如 .config

4. Kconfig 關鍵字

config XXX    # 表示一個CONFIG項,會對應 .config 中的 CONFIG_XXX

bool "xxxx"   # bool說明對應CONFIG項只有兩種選項(加入內核或不加入),"xxx"是說明語句,GUI 中前面為 []

depend on xxx # 說明本CONFIG依賴於 xxx,因此設置本CONFIG的前提是設置xxx配置

default y/n # 本選項默認是開啟或關閉

string  "xxx" # 對應CONFIG項為輸入字符串, GUI中前面為 () 

select xxx  # 只要本CONFIG 被開啟,則下面的select 也會被開啟

tristate xxx # 本CONFIG有三個選擇,加入內核/不開啟/編譯成模塊,但連接入內核

menu xxx 
endmenu # 這只是一個菜單,里面有很多CONFIG

menuconfig  # 自身是一個CONFIG,並且是菜單


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM