NXP 官方原版 Linux 4.1.15_2.1.0源码:https://cloud.189.cn/t/JZriMvVNJJBf
一定要先安装:sudo apt-get install lzop
终端输入:mkdir IMX6ULL
将上面的 Linux 4.1.15_2.1.0源码放入IMX6ULL文件夹中。
终端输入:
tar -vxjf linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2
mv linux-imx-rel_imx_4.1.15_2.1.0_ga linux-imx-rel_imx_4.1.15_2.1.0_ga_mybsp //重命名
cd linux-imx-rel_imx_4.1.15_2.1.0_ga_mybsp/
修改顶层 Makefile
gedit Makefile
关键字搜索:CROSS_COMPILE
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-gnueabihf-
进入到 Ubuntu 中的 Linux 源码根目录下,执行如下命令配置 Linux 内核:
make clean //第一次编译 Linux 内核之前先清理一下
make imx_v7_mfg_defconfig //配置 Linux 内核
配置完成以后就可以编译了,使用如下命令编译 Linux 内核:
make -j16 //编译 Linux 内核
等待编译完成,结果如图所示:
至此我们得到两个文件:
①、Linux 内核镜像文件:zImage。 (arch/arm/boot)
②、NXP 官方 I.MX6ULL EVK 开发板对应的设备树文件:imx6ull-14x14-evk.dtb。(arch/arm/boot/dts)
新建 shell 脚本:gedit mx6ull_mybsp_emmc.sh
内容如下:
#!/bin/sh
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_defconfig
#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16
使用方式:chmod 777 mx6ull_mybsp_emmc.sh
./mx6ull_mybsp_emmc.sh
下载烧录:
设置uboot环境变量
setenv bootargs ‘console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw’
saveenv
将zImage烧录到开发板中(参考 4、tftp 命令)
cp arch/arm/boot/zImage …/…/tftpboot/ -f
cp arch/arm/boot/dts/imx6ull-14x14-evk.dtb …/…/tftpboot/ -f
拷贝完成以后就可以测试了,启动开发板,进入 uboot 命令行模式,然后输入如下命令将zImage 和 imx6ull-14x14-evk.dtb 下载到开发板中并启动:
tftp 80800000 zImage
tftp 83000000 imx6ull-14x14-evk.dtb
bootz 80800000 - 83000000