在命令行中,進入頂層內核目錄,並輸入命令make menuconfig,就可以啟動一個基於菜單的內核配置編輯器。從這里開始,你可以訪問每個可用的配置參數,並生成一個定制的內核配置。
當你退出配置編輯器時,它會提示你是否保存修改,如果選擇保存修改,全局配置文件.config就會被更新(如果不存在,則會被創建)。
頂層Makefile會使用這個.config文件來構建內核。
大多數內核軟件模塊也通過.config文件間接地讀取配置內容,原理如下:
在構建過程中,構建系統會處理這個.config文件,並生成一個名為autoconf.h的C語言頭文件,放在目錄…/include/linux中,這個文件是自動生成的。盡量不要直接修改這個文件,因為當配置有變動並且新的構建開始后,你所做的修改就丟失了。很多內核源文件直接使用預處理指令#include來包含這個文件。
內核構建文件在每條內核編譯命令行中都包含了這個autocongf.h文件,具體是使用了編譯命令gcc的-include選項,如下所示:
gcc … –include include/linux/autoconf.h … <somefile.c>
各個內核模塊就是通過這種方式來訪問內核配置的。