編譯linux内核時,一般會先用make oldconfig指令配置.config文件,網上資料說make oldconfig會用到當前目錄中已經存在的.config文件,那如果當前目錄中沒有.config文件呢?此時make oldconfig和make config是一樣的嗎?我以練習ldd3時用到的linux-2.6.10和Ubuntu5.04為例來說明。
首先來看幹淨的linux-2.6.10代碼執行make oldconfig指令:
幹淨的代碼在當前目錄中是不存在.config文件的,但是可以看到有提示 "using defaults found in /boot/config-2.6.10-5-386",config-2.6.10-5-386是Ubuntu5.04自帶内核的配置文件,看來make oldconfig指令不僅會使用當前目錄中的.config文件,也會使用其它位置的config文件,那make oldconfig指令到底會使用哪些config文件呢?
答案就在linux-2.6.10/scripts/kconfig/confdata.c這個文件中:
可以看到所使用的config文件按順序依次是:
當這5個文件都不存在時,make oldconfig和make config的作用就是一樣的了。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!