如何使用 Odin 解压、修改、打包和刷写 `system.img.ext4` 文件?

Posted

技术标签:

【中文标题】如何使用 Odin 解压、修改、打包和刷写 `system.img.ext4` 文件?【英文标题】:How to unpack, modify, pack and flash `system.img.ext4` file using Odin? 【发布时间】:2020-02-20 18:38:05 【问题描述】:

我有一个与我的三星 S10 5G(Qualcomm) 设备兼容的system.img.ext4.lz4 文件。我使用unlz4 system.img.ext4.lz4 命令从system.img.ext4.lz4 中提取了system.img.ext4 文件。

我想玩它的内容。所以我分两步决定:

    Flash system.img.ext4 无需修改

    使用tar -cvf AP.tar system.img.ext4 命令,我创建了一个AP.tar 文件。 使用 Odin3 v3.13 刷新 AP.tar 文件。 刷机成功。

    修改后的 Flash system.img.ext4

a) 修改

使用simg2img system.img.ext4 system.img,您将获得一个名为system.img 的原始图像文件 使用mkdir system,创建目录挂载system.img 使用sudo mount -t ext4 -o loop system.img system/,您将在system 文件夹中获得system.img 的所有文件 ls -l system/init.rc 备注权限:750 用sudo chmod 777 system/init.rc 授予写权限 sudo echo "#MODIFICATION " >> system/init.rcinit.rc 中做了一些修改 使用sudo chmod 750 init.rcinit.rc 重置为注明的权限

b) 计算系统扇区大小

使用tune2fs -l system.img | grep "Block size\|Block count",您将获得块大小和计数 使用echo $((1553064 * 4096)) 将两个结果相乘。我得到了 6361350144

c) 包装

使用sudo make_ext4fs -s -l 6361350144 -a system system_new.img sys/,您将获得具有所有更改的system_new.imgandroid Sparse Image” 用sudo umount system卸载系统目录 用rm -fr system删除系统目录

d) Tar 压缩

rm system.img.ext4删除原来的system.img.ext4,不用担心你应该在lz4文件中备份 使用 mv system_new.img system.img.ext4 将 system_new.img 重命名为 system.img.ext4 以使用 Odin3 v3.13 进行刷新 使用tar -cvf AP.tar system.img.ext4,您将获得可以使用 Odin3 v3.13 刷新的 AP.tar。 它无法闪烁 FAIL! (Auth) 错误。

请建议我该如何解决这个问题? 我会非常感谢你的任何小到大的建议。

【问题讨论】:

【参考方案1】:

您无法解决此错误。原因很简单。这是一个修改过的 .IMG 文件。由于您拥有 Qualcomm Snapdragon,因此您不能将自定义/修改过的软件刷入手机。原因是因为它的引导加载程序被锁定。你没有办法解锁它。 AP.IMG 之所以起作用,是因为它根本没有被修改过。

【讨论】:

以上是关于如何使用 Odin 解压、修改、打包和刷写 `system.img.ext4` 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Linux下如何在不解压jar包查看或修改配置文

jar解压后 如何把解压出来的文件夹 重新编译成jar ???

Seata server如何自己修改源码后打包

打包的jar 替换或修改文件

linux下tar的打包和解压如何操作?

基于Odin插件简单ScriptableObject数据管理类