`
nid007
  • 浏览: 44108 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[转]system.img 解压和压缩

阅读更多
来自:http://blog.csdn.net/free2o/article/details/8969291

  Android 中的 system.img 可能有是yaffs2 或者 ext 的文件系统。

1.判断文件系统类型
   file out/target/product/generic/system.img
    如果输出是: out/target/product/generic/system.img: VMS Alpha executable  , 则表明是 yaffs2 文件系统,
   如果输出是: data 文件,则表明是 ext 文件系统

2. 解压
  - yaffs2 文件系统:
•   下载 unyaffs 工具, 可以从 http://code.google.com/p/unyaffs/downloads/list 下载。
•   创建一个目录把system.img 文件拷贝到该目录下
•   运行 unyaffs system.img && rm system.img 就可以把 system.img 解压到新创建的目录下
  - ext 文件系统
•  用simg2img 工具把system.img 转为为ext4 文件格式。
• 用法: simg2img system.img system.ext4.img.

•工具位置 out/host/linux-x86/bin/simg2img

•源代码 http://gitorious.org/0xdroid/system_extras/blobs/9c842adc177c1bcd22c2038d8d237bfb70654dca/ext4_utils/simg2img.c
•   之后创建一个目录,例如 "data",之后运行 mount -t ext4 -o loop system.ext4.img  data
•   这样就可以在目录data 下面看到整个system.img 的内容了
3. 压缩
  - yaff2 文件系统
•  可以使用工具: out/host/linux-x86/bin/mkyaffs2image
• 工具用例:   out/host/linux-x86/bin/mkyaffs2image -f  out/target/product/generic/system out/target/product/generic/system.img

  - ext4 文件系统
•  可以使用 out/host/linux-x86/bin/mkuserimg.sh 来生成 ext 文件系统的 system.img .

•mkuserimg.sh 用法如下:
        mkuserimg.sh [-s] SRC_DIR OUTPUT_FILE EXT_VARIANT MOUNT_POINT SIZE
        ./mkuserimg.sh -s /some/directory/with/files ./factoryfs_custom.img ext4 ./temp 512M

     


        可以从这里看到源代码:  https://android.googlesource.com/platform/system/extras/+/android-cts-4.1_r2/ext4_utils/mkuserimg.sh
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics