1、前言
Com-P6UL是盈鵬飛科技有限公司基於NXP原廠I.MX6UL芯片生產研發的核心板,本文將對CoM-P6UL適配NXP的基於Linux4.1.15版本的kernel板級源碼的過程進行介紹。
2、開發環境
目標板:CoM-P6UL(RAM:256MB,Nand Flash:256MB)
主機:Linux ubuntu 4.15.0-70-generic
交叉編譯工具鏈:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf
源碼下載鏈接:http://git.freescale.com/git/
3、官方kernel移植適配
在上面給出的鏈接中,下載完源碼后,可以先通過NXP官方的i.mx6ul evk的評估板配置文件進行編譯,檢查kernel源碼是否能編譯通過,后面再添加適配Com-P6UL核心板的文件:
解壓kernel源碼,並進入到kernel源碼根目錄:
$ tar -xvzf rel_imx_4.1.15_2.1.0_ga.tar.gz $ cd rel_imx_4.1.15_2.1.0_ga/
接下來,嘗試開始編譯NXP官方提供的kernel源碼:
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_mfg_defconfig or $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_defconfig $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
在編譯Linux內核之前需要先配置Linux內核,每個板子的默認配置文件在下面的目錄:
rel_imx_4.1.15_2.1.0_ga/arch/arm/configs
對於NXP官方i.mx6ul芯片的evk評估板的配置文件可以使用imx_v7_mfg_defconfig和imx_v7_defconfig這兩個配置文件,其中imx_v7_mfg_defconfig這個默認配置文件編譯出來的Linux內核鏡像zImage文件支持NXP官方的MfgTool軟件,該軟件能通過板載的USB OTG接口更新目標板的uboot、kernel和rootfs。
執行make編譯命令后,如果在下面的目錄中出現zImage鏡像文件:
rel_imx_4.1.15_2.1.0_ga/arch/arm/boot
如下所示:
並在下面的目錄下,出現NXP官方i.mx6ul芯片的evk評估板的設備樹文件:
rel_imx_4.1.15_2.1.0_ga/arch/arm/boot/dts
如下所示:
表示NXP官方的Linux內核源碼已經成功編譯了。
接下來,需要修改Linux內核源碼適配CoM-P6UL核心板,在前面我們編譯出來的內核鏡像和設備樹文件是基於NXP官方的Demo評估板的,因此,需要進一步進行適配,編譯出適合我們需要的zImage鏡像文件和設備樹文件。
4、小結