编译IMX6ULL开发板的Uboot和Linux内核(二)
迅为I.MX6ULL终结者开发板对应的Uboot源码在光盘资料的“i.MX6UL终结者光盘资料\05_uboot linux源码\终结者Uboot和Linux源码.zip”压缩包里面,解压该压缩包,得到“uboot-imx-rel_imx_4.1.15_2.1.0_ga_xxxxxxxx.tar.gz”文件(其中的xxxxxxxx代表的是发布日期),这个文件就是终结者开发板对应的Uboot源码。我们通过SSH将该文件上传到Ubuntu系统,上传完成后如下图所示:
然后我们输入“tar -xvf uboot-imx-rel_imx_4.1.15_2.1.0_ga_20200314.tar.gz”命令,开始解压Uboot源码,如下图所示:
解压完成后,得到“uboot-imx-rel_imx_4.1.15_2.1.0_ga”文件夹,使用“cd uboot-imx-rel_imx_4.1.15_2.1.0_ga”命令进入到Uboot源码目录下,如下图所示:
然后我们开始编译Uboot,因为迅为电子的i.MX6ULL核心板有两种:EMMC版本和NAND FLASH版本,这两个版本的编译命令不一样,可以参考下面表格:
我这里以EMMC版本的核心板为例,开始编译Uboot源码,直接在终端输入“./create.sh”命令,如下图所示:
编译过程如下图所示:
编译完成会生成“u-boot.imx”文件,如下图所示:
上图生成的“u-boot.imx”文件就是Uboot的景象文件,我们可以把它拷贝到Windows系统下然后使用MFGTools烧写工具烧写到开发板运行。
29.3 编译终结者开发板Linux内核
I.MX6ULL终结者开发板对应的Linux内核源码在光盘资料的“i.MX6UL终结者光盘资料\05_uboot linux源码\终结者Uboot和Linux源码.zip”压缩包里面,解压该压缩包,得到“linux-imx-rel_imx_4.1.15_2.1.0_ga_xxxxxxxx.tar.gz”文件(其中的xxxxxxxx代表的是发布日期),这个文件就是终结者开发板对应的Linux内核源码。我们通过SSH将该文件上传到Ubuntu系统,上传完成后如下图所示:
然后在终端输入“tar -xvf linux-imx-rel_imx_4.1.15_2.1.0_ga_20200314.tar.gz”命令,开始解压Linux内核源码,如下图所示:
解压完成后生成“linux-imx-rel_imx_4.1.15_2.1.0_ga”Linux内核源码文件夹,使用“cd linux-imx-rel_imx_4.1.15_2.1.0_ga”命令进入到“linux-imx-rel_imx_4.1.15_2.1.0_ga”文件夹,如下图所示:
然后直接在终端输入“./create.sh”命令,开始编译Linux内核源码,如下图所示:
编译过程如下图所示:
编译完成,会在“arch/arm/boot”目录下生成“zImage”文件,如下图所示:
会在“arch/arm/boot/dts”目录下生成设备树文件,如下图所示:
从上图可以看到生成了十几个设备树文件,因为迅为电子的i.MX6ULL核心板有两种类型:EMMC版本和NAND FLASH版本,我们根据核心板的类型,将对应的镜像文件整理成下表所示:
我们可以根据上表的提示,将对应的镜像拷贝到Windows系统下,然后使用MFGTools烧写工具烧写到开发板运行。