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

标签 linux root android-source samsung-mobile flashing

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

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

  1. 未经修改的 Flash system.img.ext4:

    • 使用 tar -cvf AP.tar system.img.ext4 命令,我创建了一个 AP.tar 文件。
    • 使用 Odin3 v3.13 烧写 AP.tar 文件。
    • 刷机成功。
  2. 经过修改的 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" 你会得到 block 大小和计数
  • 使用 echo $((1553064 * 4096)) 将两个结果相乘。我得到了 6361350144

c) 包装

  • 使用 sudo make_ext4fs -s -l 6361350144 -a system system_new.img sys/ 你会得到 system_new.img 具有所有变化的“Android 稀疏图像”<
  • 使用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) 错误。

请建议我如何解决这个问题? 我将非常感谢您提出任何小到大的建议。

最佳答案

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

关于linux - 如何使用 Odin 解压、修改、打包和刷写 `system.img.ext4` 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58541074/

相关文章:

android - 定义和实现 HIDL 接口(interface)

Android 自定义启动器不会停止 BootAnimation

postgresql - 使用 sudo 命令修改 postgresql.conf 后启动 PostgreSQL 服务器失败

android - [Android]为什么我们仍然可以使用MediaRecorder的setOutputFile(String path)?

具有匹配日期的 linux touch 文件

c - 我无法理解 read 系统调用的作用

asp.net - Mono 在带有 ASP.NET Web 应用程序的 Ubuntu 中使用 mscorlib.dll 2.0 而不是 4.0

arrays - bash:如何删除函数内的列表条目?

android - 如何从数据文件夹中读取文件?

java - 有没有办法让 Java 应用程序获得 root 权限?