文章目录
1 编译NXP官方NAND版本u-boot
NXP官方已经把u-boot移植到了i.MX6ULL上,我们的工作就是要uboot移植到终结者开发板上。
1.1 环境搭建
解压:tar -vxf uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2 ,
将解压后的文件夹重命名:
mv uboot-imx-rel_imx_4.1.15_2.1.0_ga uboot -f
配置交叉编译环境,交叉编译器使用gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf,
在“2.获取u-boot”中已经解压好了源码,进入解压好的uboot源码目录,执行 make clean
1.2 更改默认环境变量值
默认的uboot环境变量flash分区和终结者的mfgtools设置烧写的分区不一致,我们要进入uboot源码,修改一下默认的bootargs参数,重新分区。
因为我们要编译imx6ull的nand版本,所以到源码目录下找相应的配置文件,找到了“mx6ull_14x14_evk_nand_defconfig”
打开mx6ull_14x14_evk_nand_defconfig,查看信息,发现板级文件在board/freescale/mx6ullevk/下,
进入board/freescale/mx6ullevk/,查看配置文件:
vi MAINTAINERS,查看到如下
头文件为”mx6ullevk.h”,里面保存着u-boot的默认参数,打开头文件,
vi include/configs/mx6ullevk.h,
搜索关键字“mtdparts=gpmi-nand”,
发现123行有宏定义“CONFIG_BOOTARGS_CMA_SIZE”,修改为:
“mtdparts=gpmi-nand:4m(u-boot),2m(u-boot-env),4m(logo),10m(kernel),2m(dtb),-(rootfs) rootwait rw ”,如图 1.2.4:
搜索“ubi.mtd”,如图 1.2.5:
改为“ubi.mtd=5”: