如何正确的在PC上挂载ubi镜像文件及反向重新制作镜像.doc

如何正确的在PC上挂载ubi镜像文件及反向重新制作镜像.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
如何正确的在PC上挂载ubi镜像文件及反向重新制作镜像.doc

如何正确的在 PC 上挂载 ubi 镜像文件及反向重新制作镜像 注:文中的 PC 环境为 ubuntu 13.04 32 位 其中经历的各种曲折就不表述了,下面直接说正确的方法步骤。 一,工具准备 从  HYPERLINK "/UBIFS#Mounting_UBI_Image_on_PC_using_nandsim" /UBIFS#Mounting_UBI_Image_on_PC_using_nandsim 这个网站得知,要挂载 ubi 镜像,需要使用到 nandsim,ubidetach,ubiattach 等工具。nandsim 系统自带,ubidetach 和 ubiattach 需要另外安装一个叫 mtd-utils 的工具集。mtd-utils 工具集里还有制作镜像所需的 mkfs.ubifs 和 ubinize。 mtd-utils 的安装: 方法1: $ sudo apt-get install mtd-utils 如果提示在库里找不到 mtd-utils,请参照  HYPERLINK "/zh-cn/lucid-updates/i386/mtd-utils/download" /zh-cn/lucid-updates/i386/mtd-utils/download,将 mtd-utils 的最近的源加入到 sources.list 中,然后再安装。比如: deb .tw/ubuntu precise main universe 方法2: 通过源码安装。(我用的是方法1,方法2没有验证) $ git clone git:///mtd-utils.git $ cd mtd-utils/ $ make 二,挂载分析步骤 首先要用 nandsim 模拟出一个 mtd 设备。而且这个 mtd 设备要与 ubi 镜像的参数保存一致,否则后面的步骤会失败。这些参数包括 mtd 设备的物理块擦除大小 (Physical Erase Block, PEB) 和 页大小 (Page Size)。网上的资料对于这一点完全没有提及。 这两个参数可以从 ubi 镜像中分析出来。 ubi 镜像有多个 PEB 组成,每个 PEB 包括以下三部分内容 [ UBI_EC_HDR,UBI_VID_HDR,DATA (LEB) ] $ xxd userdata.img | less 0000000: 5542 4923 0100 0000 0000 0000 0000 0000 UBI# 0000010: 0000 1000 0000 2000 2240 9f1f 0000 0000 ."@ 0000020: 0000 0000 0000 0000 0000 0000 0000 0000 0000030: 0000 0000 0000 0000 0000 0000 2956 d5be )V.. 0000040: ffff ffff ffff ffff ffff ffff ffff ffff 这是 ubi 镜像的头部,从 ubi-header.h 中可以了解到这个头部各个字节的含义。 struct ubi_ec_hdr { uint32_t magic; //#define UBI_EC_HDR_MAGIC 0 uint8_t version; uint8_t padding1[3]; uint64_t ec; /* Warning: the current limit is 31-bit anyway! */ uint32_t vid_hdr_offset; uint32_t data_offset; uint8_t padding2[36]; uint32_t hdr_crc; } __attribute__ ((packed)); 上面的 UBI_EC_HDR 告诉了我们 UBI_VID_HDR 的存储位置 (红色字部分 0000 1000) 是偏移 4KB,DATA 区的存储位置是偏移 8KB (绿色字部分 0000 2000)。 我们来验证一下: $ xxd userdata.img | less 0001000: 5542 4921 0101 0005 7fff efff 0000 0000 UBI! 0001010: 0000 0000 0000 0000 0000 0000 0000 0000 0001020: 0000 0000 0000 0000 0000 0000 0000 0000 0001030: 0000 0000 0000 0000 0000 0000 b825 64a8 %d. 0001040: ffff ffff

文档评论(0)

jackzjh
该用户很懒,什么也没介绍

相关文档

相关课程推荐