[I.MX6UL] Linux 内核移植(一)

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-

[I.MX6UL] Linux 内核移植(一)_第1张图片

进入到 Ubuntu 中的 Linux 源码根目录下,执行如下命令配置 Linux 内核:

make clean //第一次编译 Linux 内核之前先清理一下
make imx_v7_mfg_defconfig //配置 Linux 内核
[I.MX6UL] Linux 内核移植(一)_第2张图片

配置完成以后就可以编译了,使用如下命令编译 Linux 内核:

make -j16 //编译 Linux 内核

等待编译完成,结果如图所示:
[I.MX6UL] Linux 内核移植(一)_第3张图片

至此我们得到两个文件:

①、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环境变量:https://blog.csdn.net/qq_29246181/article/details/106265362

setenv bootargs ‘console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw’
saveenv

将zImage烧录到开发板中(参考 4、tftp 命令):https://blog.csdn.net/qq_29246181/article/details/106272766

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

[I.MX6UL] Linux 内核移植(一)_第4张图片

你可能感兴趣的:([I.MX6U],嵌入式,Linux)