我有一个ROM,我可以闪光三星S10 5G(高通)成功。我的目标是检查我是否可以修改ROM的system.img
文件,但在修改之前,我只想验证AP文件可以在system.img
的解压缩和打包之后闪烁。为了核实这一点,我尝试了以下几点:
解包- AP文件:
( A) tar
闪烁:
tar -xf AP...tar.md5
命令提取AP文件。tar -cvf AP...tar *
压缩提取的文件( 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
解包-Pack
tar -xf AP...tar.md5
命令提取AP文件。解压缩的文件是"boot.img.lz4、meta、userdata.img.ext4.lz4、carer.img.ext4.lz 4、持久化.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
安卓稀疏图像。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
文件替换为上述命令中的压缩文件(一次一次),并试图将其闪存,但每次使用失败时,都会使用“Odin!LZ4是无效的”来创建一个AP文件。
LZ4命令详细信息: 1. Ubuntu 18 2.使用"LZ4命令行接口64位r128,由Yann Collet编写(2018年4月3日)“
用"LZ4命令行接口64位v1.9.2,由Yann “进行了尝试,但得到了同样的结果。
file system.img.ext4.lz4
输出:
system.img.ext4.lz4: LZ4 compressed data (v1.4+)
。1. For file compressed with **legacy flag**(-l): `system.img.ext4.lz4: LZ4 compressed data (v0.1-v0.9)`
2. For file compressed **without legacy flag**(-l): `system.img.ext4.lz4: LZ4 compressed data (v1.4+)`
因此,我认为这意味着文件应该在没有遗留标志的情况下被压缩。
尺寸
-9
标志,即高压缩,输出文件为3.3GB。-9
标志,即默认压缩,输出文件为3.6GB。原始文件的大小为3.6GB,因此,我认为不应该使用高压缩。
但是奥丁抛出的错误还是一样的。
有什么好的建议吗?
发布于 2019-10-26 06:54:31
用这个:
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找到此解决方案
发布于 2019-10-23 16:36:52
假设system.img.ext4
没有被修改,
lz4 -l -9 system.img.ext4 system.img.ext4.lz4
应该能起作用。奇怪的是,它没有,尽管我在您的示例中注意到您正在压缩system.img
,而不是system.img.ext4
,因此不清楚它是否是同一个文件。
建议1:在某个地方可能有一个校验和,不允许使用lz4有效负载。这部分是系统特有的,所以很难知道。你得四处看看。
建议2:比较你原来的system.img.ext4.lz4
和用lz4
重压缩产生的那个。试着找出差异(特别是,越小越大?)
建议3:使用最新版本的lz4
。r128
实际上是很老。您可以在本地编译一个更新的版本,如v1.9.2
,它包含超模式,能够压缩更多的-9 (压缩级别可以升级到-12)。
https://stackoverflow.com/questions/58517762
复制相似问题