专栏中心

EEPW首页 > 专栏 > Apalis_iMX6_eMMC常驻ToradexEasyInstaller

Apalis_iMX6_eMMC常驻ToradexEasyInstaller

发布人:toradex 时间:2023-12-26 来源:工程师 发布文章
By Toradex胡珊逢简介

Toradex Easy Installer 是 Toradex 计算机模块上出厂预装的软件,可以令开发人员首次安装不同的操作系统,同时也适生产线上模块的批量烧写作业。通常在安装系统后,Toradex Easy Installer 将被从模块的存储上擦除。本文将介绍如何使 Toradex Easy Installer 常驻在存储,并用其重装系统。

实现该操作的方法为在存储设备上创建一个专门存放 Toradex Easy Installer 的分区。每次安装系统时将 Toradex Easy Installer 写入到该分区。由于 Toradex 的 U-Boot 支持 distro_boot 功能,通过修改默认的启动命令,令 U-Boot 在启动时加载 Toradex Easy Installer 而不是 Linux 系统。


硬件介绍

这里使用 Apalis iMX6 模块进行演示。Apalis iMX6 的 eMMC 存储做如下分区规划。

Parition 1Parition 2Parition 3Parition 4
FAT32EXT4FAT32EXT4
bootfsrootfsteziuser data


第一个分区是用于存放 Linux kernel、 device tree 等文件,格式为 FAT。第二个是 Linux 的系统文件,格式 EXT4。第三个则是 Toradex Easy Installer 的相关文件,格式为 FAT。第四个是用户文件分区,这里格式为 EXT4,也可以调整为其他格式类型。


Toradex Easy Installer 更改
Toradex Easy Installer 中的 image.json 文件可以在安装系统时对存储进行分区操作,为每个分区写入对应的文件,从而实现上面规划的分区。这里我们以 Linux BSP v5.7和 Toradex Easy Installer v5.7为例,创建一个系统安装包,使其同时包含上面两个系统。

首先解压 Linux BSP 的安装文件夹,在 image.json 文件的blockdevs下面有一个partitions变量,这里可以指定需要创建的分区。其中labelBOOTRFS对应上面的第一和第二分区。接下来在partitions中添加labelTEZIDATA两个分区。TEZI分区中写入 tezi_on_emmc.tar.xz 文件。关于 image.json 配置的详细说明请参考这里。tezi_on_emmc.tar.xz 中包含了 Toradex Easy Installer 相关启动文件。解压上面下载的 Toradex Easy Installer 文件,由于不需要在恢复模式下加载,因此删除其中的 recovery 文件夹后,重新压缩其他内容。

$ cd /Apalis-iMX6_ToradexEasyInstaller_5.7.3+build.17
$ rm -rf recovery
$ tar -cJf ../tezi_on_emmc.tar.xz .


DATA分区可以存储用户自己的数据,如应用程序或者配置文件,将其同样也打包为 EZ2files.tar.xz 文件,在安装时写入 DATA 分区。

将准备好的 tezi_on_emmc.tar.xz 和 EZ2files.tar.xz 文件都复制到解压后 Linux BSP 的安装文件夹中可以看到有如下文件。

$ tree
.
├── EZ2files.tar.xz
├── image.json
├── LA_OPT_NXP_SW.html
├── marketing.tar
├── prepare.sh
├── Reference-Minimal-Image-apalis-imx6.bootfs.tar.xz
├── Reference-Minimal-Image-apalis-imx6.tar.xz
├── SPL
├── tezi_on_emmc.tar.xz
├── toradexlinux.png
├── u-boot.img
├── u-boot-initial-env-spl
└── wrapup.sh 


将上面系统安装到 Apalis iMX6 模块,重新启动后可以看到 eMMC 上存在四个分区。

mmcblk2p3 上即为存放 Toradex Easy Installer 相关文件。启动时加载该分区上的 boot-tezi.scr 便能够运行。


修改 U-Boot 启动参数

U-Boot 中默认的启动参数 distro_bootcmd最终寻找到 BOOT 分区下的 boot.scr 文件,进而启动 Linux 系统。为了加载 TEZI 分区上的 boot-tezi.scr,在 Linux 系统中运行下面命令,修改 bootcmd参数。Linux BSP 安装文件中的 u-boot-initial-env-spl 会在系统安装期间将 bootcmd重新修改会默认设置,所以当安装完毕后不会再次启动 TEZI 分区上的 Toradex Easy Installer。

$ fw_setenv boot_TEZI 'setenv devtype mmc; setenv devnum 0; setenv distro_bootpart 3;
setenv bootfstype fat;  setenv prefix /; load mmc 0:3 ${scriptaddr} /boot-tezi.scr;  source ${scriptaddr}'
$ fw_setenv bootcmd "run boot_TEZI"
$ sync
$ reboot -f


运行上面命令并重启后,Apalis iMX6 会启动 eMMC 上的 Toradex Easy Installer。此时,用户可以再次安装系统,而不必进入恢复模式。


总结

常驻在 eMMC 上的 Toradex Easy Installer 能够允许用户直接在设备上运行,便于恢复或者更新系统。


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: ARM Linux tezi NXP iMX6 Toradex Apalis

相关推荐

ARM 展示小型低功耗上网本样品

视频 2009-03-16

ARM Axion 处理器加持谷歌第八代 TPU,云端全面转向智能体 AI 架构

ARM嵌入式软件编程经验谈

Arm财报过山车:营收创纪录,股价跌7%

Arm遭遇监管危机:FTC针对其技术授权启动反垄断调查

2026-05-18

ARM嵌入式系统开发:软件设计与优化

arm学习资料

资源下载 2007-12-03

Arm宣布推出Performix,为开发者带来 AI 时代必备的可扩展性能

ARM嵌入式系统开发

汽车暖通空调(HVAC)控制参考设计

面向ARM系统集成的FPGA片上系统解决方案

WinCE+ARM开发及关键技术 下

视频 2009-10-22

边缘 AI 加速的 Arm Cortex‑M0+ MCU 如何为电子产品注入更强智能

走进智能工厂 为何智能诊断是持续运行的关键

最新ARM技术和嵌入式技术发展动态 下

视频 2009-10-22

WinCE+ARM开发及关键技术 上

视频 2009-10-22

​Arm 宣布推出 Performix,为开发者带来 AI 时代必备的可扩展性能

2026-05-07

Arm CEO:AI智能体将推动CPU核心数升至 512

网络与存储 2026-05-11

ARM开发详解

最新ARM技术和嵌入式技术发展动态 中

视频 2009-10-22
更多 培训课堂
更多 焦点
更多 视频

技术专区