Allwinner Tina V831镜像修改与导出

一、将Allwinner Tina img 导成通用 img

使用工具 OpenixCard 导出通用镜像。

OpenixCard 的使用方法如下:

Usage: OpenixCard [options] input

Positional arguments:
  input         Input image file or directory path [required]

Optional arguments:
  -h --help     shows help message and exits [default: false]
  -v --version  prints version information and exits [default: false]
  -u --unpack   Unpack Allwinner Image to folder [default: false]
  -d --dump     Convert Allwinner image to regular image [default: false]
  -c --cfg      Get Allwinner image partition table cfg file [default: false]
  -p --pack     pack dumped Allwinner image to regular image from folder [default: false]
  -s --size     Get the accurate size of Allwinner image [default: false]

eg.:
  OpenixCard -u <img>   - Unpack Allwinner image to target
  OpenixCard -uc <img>  - Unpack Allwinner image to target and generate cfg
  OpenixCard -d <img>   - Convert Allwinner image to regular image
  OpenixCard -p <dir>   - pack dumped Allwinner image to regular image from folder
  OpenixCard -s <img>   - Get the accurate size of Allwinner image

本教程主要使用以下两个参数:

  • -d <img> — 将全志 img 转化成通用镜像
  • -p <dir> — 将镜像分区表打包成通用镜像

OpenixCard 和全志镜像 m2dock.img 放在同一目录,执行以下指令将全志固件解包并转化为通用镜像:

./OpenixCard -d m2dock.img

解包后得到以下内容:

  • m2dock.img.dump.out
    存放导出的通用镜像,可直接使用 Etcher 烧录。

  • m2dock.img.dump
    存放通用镜像的分区表信息。
    可通过修改 m2dock.cfg 的配置信息调整各分区大小,例如按照分区表格式在末尾添加 UDISK 分区信息,设置 U 盘分区大小。

修改完分区表后,执行以下指令将修改后的分区表重新打包成通用镜像:

./OpenixCard -p m2dock.img.dump/

打包完成后,可在 m2dock.img.dump 目录下看到生成的镜像 m2dock.img


二、挂载通用镜像进行修改

将通用 img 使用回环挂载,把需要修改的内容像操作磁盘一样写入镜像的文件系统,即可实现固件定制。

1. 回环挂载镜像

执行以下命令将镜像挂载到 /dev/loop401 回环设备:

sudo losetup -P /dev/loop401 ./m2dock.img \
  && sudo mkdir -p ./rootfs \
  && sudo mount /dev/loop401p2 ./rootfs \
  && ls ./rootfs \
  && sudo mkdir -p ./boot \
  && sudo mount /dev/loop401p1 ./boot \
  && ls ./boot

挂载成功后,可通过以下命令确认:

sudo losetup -a

若输出中显示镜像已挂载在 /dev/loop401 设备上,或在磁盘助手中可看到挂载的镜像,则操作成功。

注意: 若出现报错 设置回环设备失败: 设备或资源忙,说明 /dev/loop401 已被占用,可选择以下任一方式处理:

A. 更换回环设备号(如 /dev/loop402):

sudo losetup -P /dev/loop402 ./m2dock.img \
  && sudo mkdir -p ./rootfs \
  && sudo mount /dev/loop402p2 ./rootfs \
  && ls ./rootfs \
  && sudo mkdir -p ./boot \
  && sudo mount /dev/loop402p1 ./boot \
  && ls ./boot

B. 卸载已占用的设备后重新挂载:

sudo losetup -d /dev/loop401

2. 修改镜像内容

挂载成功后,即可对镜像中的主分区数据进行增删改查操作。

3. 卸载回环并导出镜像

修改完主分区数据后,卸载回环即可得到修改好的镜像。

方式一: 在磁盘管理器中直接卸载对应的 Loop Device。

方式二: 通过命令卸载:

sudo losetup -d /dev/loop401

卸载完成后,使用 Etcher 将修改好的镜像烧录到设备即可。

| 固件挂载和导出借鉴:https://www.cnblogs.com/juwan/p/15930762.html

posted @ 2026-05-14 15:53  weixizhou  阅读(55)  评论(0)    收藏  举报