1. 项目概述
在嵌入式Linux开发中,系统移植是一个关键环节。本期我们将深入探讨如何定制MfgTool工具,使其支持在i.MX6ULL开发板上烧写自制的Ubuntu 20.04系统。不同于简单的工具使用,我们将从底层原理出发,完整解析工具改造过程、烧写机制以及常见问题的解决方案。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 工具改造与配置
2.1 文件命名规范设计
在嵌入式系统开发中,文件命名一致性至关重要。针对EMMC版本的核心板,我们采用以下命名规范:
- 内核镜像:zImage-alientek-emmc
- 设备树文件:imx6ull-alientek-emmc.dtb
- U-Boot镜像:u-boot-alientek-emmc.imx
- 根文件系统:rootfs-alientek-emmc.tar.bz2
这种命名方式有三大优势:
- 明确区分不同硬件版本(emmc/nand)
- 避免与官方镜像混淆
- 便于脚本自动化处理
2.2 VBS脚本创建
.vbs文件是MfgTool的启动入口,我们通过复制官方模板并重命名来创建自定义脚本:
bash复制cp mfgtool2-yocto-mx-evk-emmc.vbs mfgtool2-alientek-alpha-emmc.vbs
关键点说明:
- 保持原始文件权限(chmod +x)
- 使用UTF-8编码保存
- 文件名需与后续配置严格对应
2.3 ucl2.xml深度解析
ucl2.xml是MfgTool的核心配置文件,我们重点改造EMMC烧写部分。配置文件采用分层结构:
xml复制<UCL>
<CFG> <!-- 设备识别配置 -->
<STATE name="BootStrap" dev="MX6UL" vid="15A2" pid="007D"/>
<STATE name="Updater" dev="MSC" vid="006F" pid="37FF"/>
</CFG>
<LIST name="eMMC"> <!-- 烧写流程定义 -->
<!-- 各阶段命令 -->
</LIST>
</UCL>
烧写流程分为三个阶段:
- BootStrap阶段:
- 加载U-Bo
