解压缩和生成ext4文件镜像 比如:system.img、pctool.img等

本文讲述如何解压和生成system.img以及其它ext4格式相关的文件镜像

一、必备工具

(以下两个工具都可以在out\host\linux-x86\bin目录下找到)

1、make_ext4fs  用来制作ext4镜像

expected filename after options
make_ext4fs [ -l <len> ] [ -j <journal size> ] [ -b <block_size> ]
    [ -g <blocks per group> ] [ -i <inodes> ] [ -I <inode size> ]
    [ -L <label> ] [ -f ] [ -a <android mountpoint> ]
    [ -z | -s ] [ -J ]
    <filename> [<directory>]


2、simg2img  用来将system.img还原来ext4镜像(通过make_ext4fs制作的ext4镜像包含了spare数据,无法以loop方式mount)

Usage: simg2img <sparse_image_file> <raw_image_file>

二、步骤

1.  得到system.img使用file命令查看是否为ext4。

    $file system.img

    system.img:data       // 说明此img为make_ext4fs制作的带有spare数据的镜像,则需要进行simg2img的转换。

2. $simg2img  system.img  system.img.ext

   此时可以再次检测镜像类型:

   file system.img.ext4

   system.img: Linux rev 1.0 ext4 filesystem data...    //如此说明此img为ext4文件系统,可以进行loop 挂载了。     

3. $mkdir  system     //创建一个任意名字的目录用于后面的挂

4. $sudo mount -t ext4 -o loop system.img_ext4 system/

5. .... "随意"修改system目录下的文件

6. $./make_ext4fs -s -l 512M -a system system_new.img system    #512M表分区大小 “-a system”表示挂载点为/system, 第二个system表示system目录即第3步中创建的文件夹。

7. 新生成的system_new.img就可以用来烧写了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章