【正點原子I.MX6ULL驅動開發學習筆記】二、配置交叉編譯工具鏈,編譯U-boot和Linux內核源碼


下文所使用到的一些工具下載,提取碼:rdw7

一、配置交叉編譯工具鏈

1.1、交叉編譯器安裝

將下載好的交叉編譯工具鏈放到Ubuntu中,然後輸入以下命令進行解壓:

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

接着設置PATH, ARCH和CROSS_COMPILE三個環境變量並使其永久生效,執行如下指令配置文件.bashrc

vim ~/.bashrc

接着在行尾添加如下幾行:

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin

修改之後,保存退出,並重啓Ubuntu。

1.2、安裝相關庫

在使用交叉編譯器之前還需要安裝一下其它的庫,命令如下:

sudo apt-get install lsb-core lib32stdc++6

1.3、交叉編譯器驗證

1.3.1、測試環境變量

分別輸入echo $ARCHecho $CROSS_COMPILE,查看返回結果是否和設置一致。

在這裏插入圖片描述

1.3.2、測試交叉編譯器

arm-linux-gnueabihf-gcc -v

在這裏插入圖片描述

二、編譯U-boot源碼,生成u-boot.bin文件

uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2文件放置到/home/clay/linux/u-boot目錄中,並進入該目錄,然後依次輸入以下命令:

注:板子配置文件在u-boot源碼目錄下的./configs文件夾下

tar -jxvf uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2
cd uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek
make distclean
make mx6ull_alientek_emmc_defconfig
make

編譯完成後,生成u-boot.bin等文件,編譯前和編譯後文件對比如下,

編譯前:
在這裏插入圖片描述

編譯後:
在這裏插入圖片描述

三、編譯Linux內核源碼,生成zImage和dtb文件

linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2文件放置到/home/clay/linux/linux_4.1.15目錄中,並進入該目錄,然後依次輸入以下命令:

tar -jxvf linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2
cd linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek
make mrproper
make imx_alientek_emmc_defconfig
make zImage -j4
make dtbs

編譯內核時可能會因爲缺少lzop報錯,安裝lzop即可解決:sudo apt-get install lzop

編譯並生成zImage和dtb文件後,將這兩個文件拷貝到tftpboot目錄,命令如下:

cp ./arch/arm/boot/zImage ~/tftpboot
cp ./arch/arm/boot/dts/imx6ull-alientek-emmc.dtb ~/tftpboot
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章