經常使用make menuconfig來進行kernel的設定
簡單來說,
這個指令會掃描每個目錄中的Kconfig,
收集其中的訊息與相關設定並將其秀在視窗上供開發者方便設定kernel,
開發者設定完畢後儲存會將這些設定統一存在Linux kernel 根目錄底下
一個隱藏檔: .config
定義的資料有可能長這樣:
config Hello
bool "Hello title"
depends Module
help
Hello detail message
一般而言,
如果沒有設定driver載入的預設值,
系統會出現Y/N/M 三種選項讓你選擇每個driver的載入方式.
在Android的Linux kernel中
通常會把預設值放在kernel/arch/arm/configs目錄裡面
在每個目錄裡面除了Kconfig之外還有一個檔案Makefile,
定義有哪些source code需要complier.
舉例來說
obj-y += hello.o
意思是目錄中有一個hello.c需要complier綜合以上所說,
簡單來說一個最精簡的Linux kernel driver需要三個檔案
driver本身.c ,Kconfig , makefile