本章我们就来学习一下如何将NXP官方提供的Linux内核移植到北京迅为i.MX6UL终结者开发板上。 我们将掌握如何将半导体厂商提供的 Linux BSP 包移植到我们自己的平台上。
1 编译终结者开发板内核1.1 安装第三方库在编译Uboot和内核源码之前,我们需要安装三个第三库他们分别是:lzop、libncurses5-dev、u-boot-tools。首先在Ubuntu系统桌面打开终端,如下图所示: 然后在终端输入“sudo apt-get install lzop”命令,开始安装lzop库文件,如下图所示: 然后回车运行,会提示我们输入用户名密码,输完密码,开始继续安装,最后安装完成,如下图所示: 然后我们在终端输入“sudo apt-get install u-boot-tools”命令,最后完成安装,如下图所示: 然后我们在终端输入“sudo apt-get install libncurses5-dev”命令,然后输入登录用户名密码,在输入“Y”进行安装,如下图所示: 最后安装完成,如下图所示: 至此lzop、libncurses5-dev、u-boot-tools三个第三方库安装完成了。 1.2 编译终结者开发板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版本,我们根据核心板的类型,将对应的镜像文件整理成下表所示: | | | zImage topeet_emmc_4_3.dtb topeet_emmc_5_0.dtb topeet_emmc_7_0.dtb topeet_emmc_1024x600.dtb topeet_emmc_9_7.dtb topeet_emmc_10_1.dtb | | zImage imx6ul_topeet_nand.dtb |
我们可以根据上表的提示,将对应的镜像拷贝到Windows系统下,然后使用MFGTools烧写工具烧写到开发板运行。
|