当前位置:文档之家› 解压system.img方法

解压system.img方法

Android 解压system.img方法(Ubuntu)

No.1 make解压工具

解压:ext4_utils

如果有错误cannot output_file.c

就需要安装zlib库,运行:

sudo apt-get install zlib1g-dev

No.2 解压system.img

把得到的make_ext4fs simg2img 和mkuserimg.sh放在你的工作目录下,把固件包里解压出来的sysmtem.img拷贝到工作目录。

[生成ext4格式的文件]

./simg2img system.img system.img.ext4 (输入./simg2img的意思是,执行当前目录下的这个文件)

mkdir tmp

[在tmp中对system系统镜像做修改]

mount -t ext4 -o loop system.img.ext4 tmp/

查看tmp目录可以看见如下:

这时候可以进入挂载的目录mysys里面查看各个文件,甚至是修改了。不过这时候要注意一点,就是保持文件的原始权限,如果一不小心修改错了,那么你可以将文件权限设置最大的777,然后再修改用户为root既可

小提示:app目录内的文件权限都是644,framework目录也是644,其他目录一般也都是644的,文件夹权限一般都是755

举个例子,我准备把su这个文件加到固件的bin目录下,并且修改权限

cp ~/work/su ./

ls -l su -rwxr-xr-x 1 root root 26264 2011-07-17 21:16 su

sudo chown root.2000 su

ls -l su -rwxr-xr-x 1 root 2000 26264 2011-07-17 21:16 su

sudo chmod 06755 su

ls -l su -rwsr-sr-x 1 root 2000 26264 2011-07-17 21:16 su

(如果你不知道权限该如何设置,可以使用命令ls -l sysmain/app 查看文件具体权限,根据其他文件的权限来修改你的文件权限即可)

(当你替换已经存在的文件,无需修改权限,如果放入一个没有存在过的文件,切记修改相应的用户组,使用命令chown root.root 来修改它的用户和用户组)

如果执行命令权限不足,可以在每个命令前加上sudo命令,这样可以以最高权限执行每个命令了

这个就是将app目录设置为权限高,然后你将文件放入。放入后记得一定要再将你放入的文件权限改好。同时恢复app原始权限

一般建议大家使用命令来移动、复制文件,这样不存在权限问题

No.3 打包

./mkuserimg.sh -s sysmain systest.img.ext4 ext4 tmp 512M

注意:tmp是我在当前目录新建立的一个目录,后面的512M是这个镜像打包后占用空间大小。如果你不知道你的镜像包应该多大,你查看你镜像挂载到目录后,这个镜像分区的大小当你完成以上步骤,新的systest.img.ext4成功生成了,好了,你可以在fastboot模式下刷入了

有个朋友如此做:避免无权限的问题。temp是个临时挂载目录,需要你手工建立。

sudo /home/xiaolu/work/mkuserimg.sh -s /home/xiaolu/work/ZNKG5 /home/xiaolu/work/ZNKG5-new.img ext4 /home/xiaolu/work/temp 512M

sudo /home/xiaolu/work/mkuserimg.sh -s /home/xiaolu/work/ZNKG5 /home/xiaolu/work/ZNKG5-new.img ext4 /home/xiaolu/work/temp 512M in mkuserimg.sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin ./make_ext4fs -s -l 512M -a /home/xiaolu/work/temp /home/xiaolu/work/ZNKG5-new.img /home/xiaolu/work/ZNKG5

相关主题
文本预览
相关文档 最新文档