本文檔主要講解在iTOP-iMX6Q/D/PLUS 開發(fā)板的設(shè)備樹內(nèi)核(4.1.15)的缺省文件配置。 這里以 imx6q(imx6d 和 plus 的類似)的 qt 系統(tǒng)內(nèi)核編譯為例,Ubuntu16 的內(nèi)核和 qt 通用,android6.0 的配置和 qt 的類似。 1 內(nèi)核源碼中默認缺省文件的位置 如下圖所示,進入源碼的“kernel_imx”目錄,可以看到兩個腳本 “build_android_kernel.sh”和“build_qt_kernel.sh”,分別用來編譯 android 和 qt 的內(nèi) 核和設(shè)備樹,這部分在用戶手冊上有介紹,根據(jù)不同參數(shù)即可完成編譯。
01.jpg (4.81 KB, 下載次數(shù): 35)
下載附件
2019-7-11 16:49 上傳
打開“build_qt_kernel.sh”文件,如下圖所示,是腳本的一部分。
02.jpg (13.64 KB, 下載次數(shù): 38)
下載附件
2019-7-11 16:49 上傳
注意上圖中的“make imx_v7_linux_defconfig”,這一句腳本是用來配置卻文件的,這 是 linux 內(nèi)核編譯的一個默認用法,它表示內(nèi)核的配置 config 文件,使用 “arch/arm/configs/”路徑下一個叫“imx_v7_linux_defconfig”的缺省文件。如下圖所 示,我們可以找到這個缺省文件。
03.jpg (2.5 KB, 下載次數(shù): 35)
下載附件
2019-7-11 16:49 上傳
另外還有 android 的缺省文件,使用命令“l(fā)s arch/arm/configs/imx_v7_android_defconfig”,如下圖所示。
04.jpg (2.62 KB, 下載次數(shù): 43)
下載附件
2019-7-11 16:49 上傳
2 配置缺省文件 知道了默認缺省文件之后,接下來我們來通過 menuconfig 修改缺省文件,檢驗到底對 不對。 啟動開發(fā)板,如下圖所示,可以看到有一個設(shè)備節(jié)點“/dev/leds_ctl”,這是 led 小燈的 設(shè)備節(jié)點。
05.jpg (4.51 KB, 下載次數(shù): 36)
下載附件
2019-7-11 16:49 上傳
我們現(xiàn)在要配置缺省文件,去掉這個驅(qū)動,讓內(nèi)核不能生成這個設(shè)備節(jié)點。首先,備份一 下默認的缺省文件,以免修改錯誤,使用命令“cp arch/arm/configs/imx_v7_linux_defconfig imx_v7_linux_defconfig” 如下圖所示,如果配置失敗無法編譯內(nèi)核,可以用備份在 kernel_imx 路徑下的 imx_v7_linux_defconfig 缺省文件覆蓋掉 arch/arm/configs/路徑下的 imx_v7_linux_defconfig 缺省文件。
06.jpg (5.31 KB, 下載次數(shù): 37)
下載附件
2019-7-11 16:49 上傳
接著配置配置需要使用.config 文件,如下圖所示,使用命令“cp arch/arm/configs/imx_v7_linux_defconfig .config”覆蓋掉.config 文件。
07.jpg (3.35 KB, 下載次數(shù): 40)
下載附件
2019-7-11 16:49 上傳
啟動 menuconfig,使用“export ARCH=arm”,然后使用“make menuconfig”命 令,進入 menuconfig 界面,如下圖所示,一定要確保進入的是 arm 4.1.15 界面。
08.jpg (9.96 KB, 下載次數(shù): 43)
下載附件
2019-7-11 16:49 上傳
選擇“Device Drivers->”->“Character devices->”,找到“Enable LEDS config”,如下圖所示。
09.jpg (11.33 KB, 下載次數(shù): 42)
下載附件
2019-7-11 16:49 上傳
敲回車,然后去掉 led 驅(qū)動的配置,如下圖所示。
10.jpg (11.08 KB, 下載次數(shù): 36)
下載附件
2019-7-11 16:49 上傳
最后退出,保存修改,這樣我們就得到新的.config 文件,選擇 Yes。
11.jpg (3.15 KB, 下載次數(shù): 41)
下載附件
2019-7-11 16:49 上傳
使用新的.config 文件覆蓋掉“arch/arm/configs”目錄下的 imx_v7_linux_defconfig 文件,使用命令“cp -r .config arch/arm/configs/imx_v7_linux_defconfig”,如下圖所 示。
12.jpg (5.9 KB, 下載次數(shù): 36)
下載附件
2019-7-11 16:49 上傳
最后編譯執(zhí)行“./build_qt_kernel.sh”腳本(其它版本核心板,需要傳遞參數(shù),參考用 用戶手冊對應(yīng)章節(jié)),編譯 imx6q 的 qt 的內(nèi)核,燒寫到開發(fā)板。 會發(fā)現(xiàn) led 的設(shè)備節(jié)點“/dev/leds_ctl”沒有了,表明.config 和 menuconfig 以及缺省 文件使用方法正確。
|