compression - 奥丁失败!LZ4 无效
问题描述
我有一个可以在三星 S10 5G(Qualcomm) 上成功刷写的 ROM。我的目标是检查我是否可以修改system.img
ROM的文件,但在修改之前,我只是想验证AP文件在解压和打包后是否可以刷新system.img
。为了检查这一点,我尝试了以下操作:
解包-打包 AP 文件:
一)tar
闪烁:
tar -xf AP...tar.md5
使用命令提取的 AP 文件。- 使用压缩提取的文件
tar -cvf AP...tar *
- 使用 Odin3 v3.13 刷新它。
B)tar.md5
闪烁: - 按照 A) 中的步骤获取 tar,然后md5sum -t AP...tar >> AP...tar
运行mv AP...tar AP...tar.md5
两者都Ap...tar
刷AP...tar.md5
成功了。
拆包system.img.ext4.lz4
tar -xf AP...tar.md5
使用命令提取的 AP 文件。提取的文件是“ boot.img.lz4、meta-data、userdata.img.ext4.lz4、carrier.img.ext4.lz4、persist.img.ext4.lz4、vbmeta.img.lz4、dqmdbg.img.ext4。 lz4,recovery.img.lz4,vendor.img.ext4.lz4,dtbo.img.lz4,system.img.ext4.lz4 “。unlz4 system.img.ext4.lz4
使用命令提取系统文件。这给了我一个system.img.ext4
Android 稀疏图像。- 尝试以下命令进行压缩
system.img.ext4
而不进行任何修改:
lz4 system.img.ext4 system.img.ext4.lz4 - Default Compression
lz4 -9 system.img.ext4 system.img.ext4.lz4 - High Compression
lz4 -l system.img.ext4 system.img.ext4.lz4 - Default Compression in Legacy format
lz4 -l -9 system.img.ext4 system.img.ext4.lz4 - High Compression in Legacy format
lz4 -0 -l system.img.ext4 system.img.ext4.lz4 - No Compression in Legacy format
lz4 -B4 system.img.ext4 system.img.ext4.lz4 - Default Compression with Block size 4
lz4 -B5 system.img.ext4 system.img.ext4.lz4 - Default Compression with Block size 5
lz4 -B6 system.img.ext4 system.img.ext4.lz4 - Default Compression with Block size 6
lz4 --no-frame-crc system.img.ext4 system.img.ext4.lz4 - Default Compression with no crc frame
并通过将原始system.img.ext4.lz4
文件替换为上述命令中的压缩文件(一次一个)来制作一个 AP 文件,并尝试刷新它,但每次它都失败并显示“Odin FAIL!LZ4 无效”
LZ4 命令详细信息: 1. 在 Ubuntu 18 上工作 2. 使用“LZ4 命令行界面 64 位 r128,Yann Collet(2018 年 4 月 3 日)”
尝试使用“ LZ4 命令行界面 64 位 v1.9.2,Yann Collet ”,但得到相同的结果。
file system.img.ext4.lz4
输出:
- 原始文件:
system.img.ext4.lz4: LZ4 compressed data (v1.4+)
. 我的 LZ4 版本(r128 和 v1.9.2):
- 对于使用旧标志(-l) 压缩的文件:
system.img.ext4.lz4: LZ4 compressed data (v0.1-v0.9)
- 对于没有旧标志(-l)的压缩文件:
system.img.ext4.lz4: LZ4 compressed data (v1.4+)
- 对于使用旧标志(-l) 压缩的文件:
所以,我认为这意味着文件应该在没有遗留标志的情况下被压缩。
尺寸
- 使用
-9
标志即高压缩,输出文件为3.3 GB。 - 没有
-9
标志,即默认压缩,输出文件为3.6 GB。
原始文件大小为3.6 GB,所以我认为不应该使用高压缩。
但奥丁仍然抛出同样的错误。
任何建议为什么会发生?
解决方案
用这个:
lz4 -B6 --content-size in.img out.img.lz4
欲了解更多信息:https ://www.mankier.com/1/lz4
从以下位置找到此解决方案:https ://forum.xda-developers.com/galaxy-s9/help/how-to-compress-samsung-images-lz4-t3844760
推荐阅读
- android - Android 动作分享只工作一次
- java - Java中的Leetcode排列问题!列表在这个问题中是如何工作的?
- javascript - 接收二维数组 args 作为 js.Value 并想要一个数组 ([]js.Value)
- ruby-on-rails - Rails 应用程序内的 Rails 引擎中的继承
- c# - 分别从 PowerShell 和 PowerShell 的 C# .Net 库生成的访问令牌长度的差异
- javascript - 将数据传递给 javascript 但有很多反斜杠
- c# - 如何从 C# 中的表达式中提取所有属性访问语句?
- python - 数据框的不等式
- plsql - 选择所有 oracle pl-sql 对象依赖项
- javascript - 如何在每个函数中设置仅索引一个项目