首页 > 代码库 > 解压和生成 system.img&data.img ( ext4格式)

解压和生成 system.img&data.img ( ext4格式)

另一篇文章讲述了如何解压和生成system.img, 那是针对yaffs2格式的文件系统镜像。

目前越来越多的Android手机放弃了nand, 更多采用了emmc为内部存储设备。

以emmc为存储设备的android手机,其文件系统(/system,/data两个分区)一般采用ext4格式。

下面讲述如何解压和生成 system.img。

一、必备工具

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

make_ext4fs 用来制作ext4镜像

xpected 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>]

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

Usage: simg2img <sparse_image_file> <raw_image_file>

二、步骤

1. 得到system.img

2. $simg2img system.img system_raw.img

3. $mkdir system

4. mount -t ext4 -o loop system_raw.img system

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

6. $./make_ext4fs -s -l 512M -a system system_new.img system #512M表分区大小 第一个system表示挂载点为/system, 第二个system表示system目录。

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

解压和生成 system.img&data.img ( ext4格式)