1,解包
三星的galaxy s2/S3/note等手机的官方odin线刷包是tar压缩,里面的system.img与cache.img等如果在linux下用file命令看,都是data格式。所以解包成有如下几个步骤
> tar -xvf KIES_HOME_I9300ZSDLK4.tar 解压tar包
> simg2img cache.img cache.img.ext4 从data格式转成ext4格式
> mkdir tmp 新建临时文件夹
> sudo mount -o loop cache.img.ext4 tmp 将ext4文件挂载到tmp目录
2,按照需要修改tmp目录中的内容
3,打包
先ls -l cache.img.ext4看大小,假设是1073741824,这个参数后边用到。
> make_ext4fs -s -l 1073741824 -a cache new_cache.img ./tmp
-s是个很重要的参数,不加的话生成的new_cache.img的大小直接就是1073741824(1个G),加上的话是按需生成。
-l刷到机器后的分区大小,-a挂载点(cache.img开机时会挂载到/cache),new_cache.img输出文件名,/tmp文件内容。
上述的simg2img和make_ext4fs是android自带的工具,如果有android源码而且编译通过的话, 这些工具可以在/out/host/linux-x86/bin中找到。
=================================
附赠小知识,odin在刷tar包的时候,如果tar包里面有cache.img,刷机成功后手机会重启到recovery模式,然后recovery将会解析cache/recovery/command命令来执行。修改这个command文件可以达到很多有趣的效果。

这篇博客详细介绍了如何在Linux环境下解包三星手机官方线刷包中的system.img和cache.img,将其转换为ext4格式,进行修改,然后使用make_ext4fs工具按需重新打包。过程包括解压tar包、转换文件格式、挂载并修改内容,以及最后的打包步骤。此外,还提到odin刷入包含cache.img的tar包会引导手机进入recovery模式,并可以通过修改cache/recovery/command实现特定效果。
8528

被折叠的 条评论
为什么被折叠?



