1.當我們在執行make menuconfig這個命令時,一共涉及到了以下幾個文件:
Linux內核根目錄下的scripts文件夾
arch/$ARCH/Kconfig文件、各層目錄下的Kconfig文件
根目錄下的makefile文件、各層目錄下的makefile文件
內核根目錄.config文件、arm/$ARCH/下的config文件
include/generated/autoconf.h文件(生成的條件編譯宏定義)
2.執行make menuconfig命令出現配置界面之前,系統做了以下工作:
首先系統會讀取arch/$ARCH/目錄下的Kconfig文件生成整個配置界面選項(Kconfig是整個linux配置機制的核心),ARCH環境變量的值是由linux內核根目錄下的makefile文件決定的,在makefile下有此環境變量的定義:
3.在arch/$ARCH/configs下有很多deconfigs文件,把他們拷貝成根目錄下的.config文件,make menuconfig選項時,系統會除了會自動更新.config外,還會將所有的選項以宏的形式保存在Linux內核根目錄下的 include/generated/autoconf.h文件下,這個宏用於控制編譯時的條件編譯選項。