奥丁失败了!LZ4无效

Vat*_*rma 2 compression lossless-compression lzw samsung-mobile lz4

我有一个可以在三星 S10 5G(高通)上成功刷新的 ROM。我的目标是检查是否可以修改system.imgROM​​文件,但在修改之前,我只想验证AP文件在解压和打包后是否可以刷新system.img。为了检查这一点,我尝试了以下操作:

解压AP文件:

A)tar闪烁:

  1. 使用命令提取 AP 文件tar -xf AP...tar.md5
  2. 使用压缩提取的文件tar -cvf AP...tar *
  3. 使用 Odin3 v3.13 进行刷新。

B)tar.md5闪烁: - 按照 A) 中的步骤获取 tar,然后运行md5sum -t AP...tar >> AP...tarmv AP...tar AP...tar.md5

两者Ap...tarAP...tar.md5闪烁成功。

拆包-打包system.img.ext4.lz4

  1. 使用命令提取 AP 文件tar -xf AP...tar.md5。提取的文件为“ boot.img.lz4元数据userdata.img.ext4.lz4Carrier.img.ext4.lz4persist.img.ext4.lz4vbmeta.img.lz4dqmdbg.img.ext4 。 lz4recovery.img.lz4vendor.img.ext4.lz4dtbo.img.lz4system.img.ext4.lz4 “。
  2. 使用unlz4 system.img.ext4.lz4命令提取系统文件。这给了我一个system.img.ext4Android 稀疏图像。
  3. 尝试以下命令进行压缩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
Run Code Online (Sandbox Code Playgroud)

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):

    1. 对于使用旧标志(-l)压缩的文件:system.img.ext4.lz4: LZ4 compressed data (v0.1-v0.9)
    2. 对于没有旧标志(-l)的压缩文件:system.img.ext4.lz4: LZ4 compressed data (v1.4+)

所以,我认为这意味着文件应该在没有遗留标志的情况下进行压缩。

尺寸

  1. 使用-9标志即高压缩,输出文件为3.3 GB
  2. 如果没有-9标志(即默认压缩),输出文件为3.6 GB

原始文件大小为3.6 GB,因此我认为不应使用高压缩。

但奥丁仍然抛出同样的错误。

有什么建议为什么会发生吗?

Aja*_*jay 6

用这个:

lz4 -B6 --content-size in.img out.img.lz4
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息: https: //www.mankier.com/1/lz4

从以下位置找到此解决方案: https: //forum.xda-developers.com/galaxy-s9/help/how-to-compress-samsung-images-lz4-t3844760

  • 虽然这可能是解决方案,但如果您可以进一步扩展该命令的具体用途以及为什么它是正确的使用方法,将会很有帮助。 (3认同)