先从NXP官方的github源码库中下载各个版本的u-boot, uboot的下载地址为:GitHub - nxp-imx/uboot-imx: i.MX U-Boot
1.本文下载最新的uboot版本(lf-5.15.71-2.2.0)的tar.gz的压缩包。
2.拷贝uboot源码到ubuntu工作目录,并解压uboot压缩包,流程如下图所示:
3.拷贝uboot目录下的arch/arm/dts目录下的imx8mm-evk.dtsi并重命名为imx8mm-lsl-evk.dtsi,如下图所示:
cp imx8mm-evk.dtsi imx8mm-lsl-evk.dtsi
4.拷贝uboot目录下的arch/arm/dts目录下的imx8mm-evk.dts并重命名为imx8mm-lsl-evk.dts,如下图所示:
cp imx8mm-evk.dts imx8mm-lsl-evk.dts
5.修改拷贝的设备树文件imx8mm-lsl-evk.dts,如下所示:
6.打开uboot目录include/configs子目录下的imx8mm_evk.h文件,进行uboot的ENV环境变量的修改,具体修改如下所述:
7.修改uboot目录board/freescale/imx8mm_evk子目录的imx8mm_evk.c文件,添加网络phy芯片AR8031的硬件复位,如下图所示:
8.复制uboot目录configs子目录下的imx8mm_evk_defconfig并重命名为imx8mm_lsl_evk_defconfig,如下图所示:
9.修改imx8mm_lsl_evk_defconfig配置文件,修改完成保存并退出,如下所示:
10.新建uboot编译shell脚本build_imx8mmini.sh,设置编译脚本内容,如下图:
11.给编译脚本添加执行权限,并运行编译脚本。
12.编译完成后,结果如下所示:
13.编译完成后,uboot下的下表文件以备后续生成烧录镜像使用。
序号 | 文件名 | 文件路径(相对uboot根目录) | 说明 |
1 | u-boot-nodtb.bin | / | Uboot镜像 |
2 | u-boot-spl.bin | spl | Uboot spl镜像 |
3 | imx8mm-lsl-evk.dtb | arch/arm/dts | 设备树镜像 |
4 | mkimage | tools | Uboot下的mkimage工具 |