Linux端解压rom

2021年03月28日 · 玩机技巧 · 89次阅读

把system.new.dat.br转换成system.new.dat文件

安装brotli

apt install brotli

解压官方卡刷包,进入目录执行命令:

brotli -d system.new.dat.br -o system.new.dat

等待几分钟即可转换成功
把system.new.dat转换成system.img

执行下方的命令安装python以及sdat2img.py脚本

apt install curl python -y && curl -O  https://raw.githubusercontent.com/xpirt/sdat2img/master/sdat2img.py && chmod +x sdat2img.py

运行sdat2img.py脚本

./sdat2img.py system.transfer.list system.new.dat system.img

等待执行成功,脚本将会在当前目录下输出system.img文件

挂载system.img镜像进行查看

创建一个空的文件夹,比如system

mkdir  system

挂载system.img镜像至刚刚新增的system文件夹

mount -o loop system.img  system

现在,你可以使用ls命令进入system文件夹查看镜像内的文件了.
将修改后的文件打包回去
获取make_ext4fs工具

curl -O https://github.com/Loren-Yi/make_ext4fs/raw/master/make_ext4fs && chmod +x make_ext4fs

使用 make_ext4fs工具打包

./make_ext4fs -s -S file_contexts -l 2048M -a system new_system.img system/

命令参数说明:
// -s 表示安静处理,不输出动作,可以不带该参数
// -T 表示Unix时间戳,对system.img中的文件设置修改时间,执行“
date +%s”获取某个时间点的时间戳,也可以直接不用-T 1421464178
// -S 表示sepolicy 的file_contexts,把该文件放到此目录下,文件取自官方system/root路径或者卡刷包自带(解压内核,在内核里面)
// -l 表示最大的文件大小(受限于分区大小);可以ls -l 当前转格式出来的system大小、单位也可以为MB
// -a 表示Android的mount点,比如system、userdata、recovery
// new_system.img 表示输出文件名
// system/ 表示输入目录,该目录下有framework、app、bin等目录

标签:none

最后编辑于:2021-03-28 15:13