官方固件修改以及T卡升级包修改

首先给大家介绍一下,system.img 文件

system.img文件经常以两种格式出现:raw和sparse。 

1. raw ext4 image,即经常说的raw image,使用file观察它: 

$ file system.img

system.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b 

其特点是完整的ext4分区镜像(包含很多全零的无效填充区),可以直接使用mount进行挂载,因此比较大(一般1G左右)。

2. sparse ext4 image,即经常说的simg,使用file观察它:

$ file system.img

system.img: data

就是说是一个非常普通的dat文件。由于它将raw ext4进行稀疏描述,因此尺寸比较小(没有全零的无效填充区,一般在300到500M之间)。


注:

所有操作Linux中执行

make_ext4fs,simg2img 如果有源代码可以从/out/host/linux-x86/bin/ 下获取

signapk.jar 如果有源代码可以从/out/host/linux-x86/framework/ 下获取

(如果没有源码,下载地址:http://download.csdn.net/detail/sinat_29255093/9516958)


第一部分 system.img文件修改

1.system.img是raw ext4 image格式(raw image),

1)建system文件夹

         mkdir system
2) 挂载分区到系统修改

         sudo mount -t ext4 -o loop system_org.img system

3) ls 查看一下system_org.img镜像大小。
ls -l system_org.img
-rw-rw-r--  1 xxx:xxx999997440 .... system_org.img

        因为我们打包需要设定镜像文件大小,这个大小是固定的,最好别乱改。

4)  获取file_contexts文件,打包需要用到。

        adb pull system/file_contexts(或者解包boot.img来获取,这里不详述)

5)  修改过后通过make_ext4fs来打包为sparse img模式的ext4,关键参数是 -s

sudo make_ext4fs -S file_contexts -s -l 999997440 -a system system_org.img ./system

6)  打包后,需要将simg转换为raw image

        simg2img system.img system_out.img


2.system.img是sparse ext4 image格式(simg),

1)建system文件夹

         mkdir system

2)  将simg转换为raw image

      simg2img system_org.img system_org_raw.img

3) 挂载分区到系统修改

         sudo mount -t ext4 -o loop system_org_raw.img system

4) ls 查看一下system_org_raw.img镜像大小。
ls -l system_org_raw.img
-rw-rw-r--  1 xxx:xxx 999997440 .... system_org_raw.img

        因为我们打包需要设定镜像文件大小,这个大小是固定的,最好别乱改。

5)  获取file_contexts文件,打包需要用到。

        adb pull system/file_contexts(或者解包boot.img来获取,这里不详述)

6)  修改过后通过make_ext4fs来打包为sparse img模式的ext4,关键参数是 -s

sudo make_ext4fs -S file_contexts -s -l 999997440 -a system system_org.img ./system


第二部分 T卡整包升级修改

分为两种,

1.update.zip包仿照增量包的方式进行打包了。使用make otapackage得到一个zip文件,查看内容:
boot.img
file_contexts
META-INF
system.new.dat
system.patch.dat
system.transfer.list

直接用修改后的system.img(可参考第一部分修改),

执行指令:python img2sdat.zip 

然后生成如下三个文件

system.new.dat
system.patch.dat
system.transfer.list

替换原始T卡升级包,然后签名即可

2.update.zip中system全部解包,


    

直接修改update.zip包,修改后签名


签名方法:

java -Xmx2048m -jar signapk.jar -w releasekey.x509.pem releasekey.pk8 update.zip update_new.zip






本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部