1. make mrproper -- 注意這一步走過之後,.config會被恢複成預設設定
2. make menuconfig -- 在這裡面check配置項,決定哪個開啟,哪個關閉。哪些driver編譯成module,哪些直接編譯進核心
3. make -- 首先會編譯核心,完成後會自動編譯modules
幾個Tips:
1. 如果要做交叉編譯,只需要定義CROSS_COMPILE環境變數就可以,比如:
export CROSS_COMPILE=arm-none-linux-gnueabi-
Linux kernel不依賴於glibc,只依賴於gcc, binutils(有ld, as這些軟體)。所以,比如上面的例子,設定了CROSS_COMPILE之後,kernel就會用arm-none-linux-gnueabi-gcc, arm-none-linux-gnueabi-ld這樣的命令來編譯和連結。所以,要確定這些命令在PATH中,能被kernel找到。平常我們做交叉編譯,準備工具鏈也就是準備這些東西。