下文所使用到的一些工具下载,提取码:rdw7
将下载好的交叉编译工具链放到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。
在使用交叉编译器之前还需要安装一下其它的库,命令如下:
sudo apt-get install lsb-core lib32stdc++6
分别输入echo $ARCH
和echo $CROSS_COMPILE
,查看返回结果是否和设置一致。
arm-linux-gnueabihf-gcc -v
将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-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