Apalis_iMX6_eMMC常驻ToradexEasyInstaller

2023-12-27 08:28

本文主要是介绍Apalis_iMX6_eMMC常驻ToradexEasyInstaller,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 能够允许用户直接在设备上运行,便于恢复或者更新系统。

这篇关于Apalis_iMX6_eMMC常驻ToradexEasyInstaller的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/542500

相关文章

新路程------imx6的uart小结(1)

imx6用的是RS485,今天看看这个接口是怎么初始化的。 首先在./arch/arm/mach-mx6/board-mx6q_sabresd.c里找uart的相关信息 在static void __init mx6_sabresd_board_init(void)肯定会有初始化的相关信息 gpio_request(SABRESD_EPDC_PWRSTAT, "uart

新路程------imx6 lvds ioctl

最近有个需求,做一些接口给上层应用调用 于是看了一下驱动,linux有一套标准的framebuffer机制让我们做接口,就是fb_ioctl 首先看对应的framebuffer驱动,在之前的ldb.c中,确实配置了对应的fb_info结构体,但是要修改这个结构体的参数并不需要在ldb.c中做,在mxc_ipuv3_fb.c里 static struct fb_ops mxcfb_ops

新路程------英飞凌imx6的lvds驱动

最近拿到一块开发版,打算在lvds上做些小修改,之前也接触过一点驱动,但是现在的驱动框架看起来和之前的有点差异。 关于lcd的参数信息请参考这篇文章 http://blog.csdn.net/longxiaowu/article/details/24319933  lvds的驱动在framebuffer驱动之下,也就是上层应用只知道有个framebuffer设备也就是dev/fb,而至于下

eMMC

通俗的来说,eMMC=NAND闪存+闪存控制芯片+标准接口封装。本文大致做下边几个小结: (1)MMC与Host之间的连接 连接由下图可见 (2)eMMC和NAND Flash与Host的连接比较 NAND Flash直接接入Host NAND Flash 直接接入 Host 时,Host 端通常需要有 NAND Flash Translation Layer,即 NFTL 或者  NA

emmc协议

一、简介 1.1 简介 嵌入式多媒体卡(Embedded Multimedia Card, eMMC)是由 JEDEC 协会所订立,将 MMC controller 和 NAND Flash 封装到一个芯片中,简化存储器的使用和电路板的设计。 1.2 信号 singledescriptionclkclockdata strobe选通信号,olny for hs400cmdcmd 和re

imx6 android6.0几个快速编译images指令

Android比较重要的image: 0.make update-api //修改framework公共api后,更新api 1.make bootimage – boot.img 2.make systemimage – system.img (这个system.img 是 从 out/target/product/xxxx/system 制作打包的) 3.make us

001 了解UFS eMMC SSD

UFS eMMC和SSD速度上的比较 UFS 2.1>UFS 2.0>eMMC 5.1 关系 UFS与eMMC没有明显的差异,它们既不是一种接口(跟PC的SATA/M.2接口不是一个概念),也不是一种单纯的储存芯片(跟NAND闪存也不是一个概念),可以说UFS/eMMC是一种内嵌式存储器的标准规格(基于闪存介质的基础上集成主控芯片,而且拥有标准接口) eMMC全称是embedded Mu

emmc,sd,tf,flash等各种存储卡的特点和区别

文章目录 SD和TF卡MMC卡emmc和ufsflash 现在手机常用的,应该是emmc,即内部存储介质是nand flash。 ufs比emmc,读写速度要快一倍;两者关系犹如固定硬盘相比机械硬盘。 SD和TF卡 SD是基于mmc协议,增加了安全特性;SD卡是Secure Digital Card的英文缩写,直译就是“安全数字卡”。TF卡即是T-Flash卡,又叫micro

RAM、ROM、flash、eMMC(通俗易懂)

RAM:Random-Access Memory的缩写,意思为“随机存取存储器” ROM:Read-Only Memory的缩写,意思为“只读存储器” RAM: 临时性:RAM存储的数据在断电时会丢失,因此称为易失性存储器。 可读写:RAM可以被快速读取和写入,它的存储单元可以根据需要来读取和修改数据。 容量和速度:RAM的容量可以从几兆字节(MB)到数百GB不等,速度非常快,可以通过高

flash和emmc的差异

Flash和eMMC(Embedded MultiMediaCard)作为两种常见的非易失性存储器(NVM),在多个方面存在显著的差异。以下是对它们差异的详细分析: 存储方式和性能: Flash存储器:具有较快的读写速度,特别适用于需要高速读写和更灵活的存储解决方案的应用场合,如存储卡、USB闪存驱动器、SSD等。eMMC:虽然读写速度较Flash稍慢,但其性能仍高于SD卡和TF卡等传统存储卡,