如何制作三星的tar.md5格式线刷包方法教程
文章旨在介绍如何制作 三星的 tar.md5 格式的刷机包。
System 镜像介绍
System 镜像一般有两种格式,一种为 ext4 image,一种为 sparse image。
线刷包中的 system image,采用的是 sparse image 格式,而刷入完成直接采用 dd 或 cat 命令备份出来,则是 ext4 格式。
System 打包查看 System 分区的大小
首先需要查看 system 分区被挂载到哪个挂载点上了。
用 R.E. 管理器查看比较直观,一眼便能看出挂载到了哪个位置。
下面介绍使用命令方式:
需要注意的是,设备不同,挂载点也不一样,具体应该灵活分辨。
1. 输入 mount 命令得到的挂载点:
-
- adb shell
- mount
将会返回所有的挂载点,我们可以得到例如下面的一行,:
/dev/block/platform/15570000.ufs/by-name/SYSTEM /system ext4 ro,seclabel,relatime,norecovery 0 0
/dev/block/platform/15570000.ufs/by-name/SYSTEM 其实是一个软链接,我们接下来需要获取其真实的硬盘挂载点。
2. 获取真实硬盘挂载点(分区位置):
Shell 中输入如下命令:
-
- readlink /dev/block/platform/15570000.ufs/by-name/SYSTEM
得到的挂载点为:
/dev/block/sda18
这说明 system 分区位于 sda18 上。
3. 获取 system 分区的大小:
Shell 中输入如下命令:
-
- cat /proc/partitions
将会输出一个分区表,单位为 block(数据块)。每个 block 为 1K。我们可以看到 sda18 的 block 为 3829760 块,则 system 分区的大小是 3829760Kb。
示例:
259 2 3829760 sda18
使用 make_ext4fs 命令打包
259 2 3829760 sda18
1. 输入如下命令进行打包:
-
- make_ext4fs -s -l 3829760K -a system /sdcard/system.img /system
注:
3829760K 为刚刚得到的 system 分区大小,不需要加 b。
system 为 system 的分区名。
/sdcard/system.img 表示打包完成将会在 /sdcard/ 下生成 system.img 文件。
/system 为 system 分区的挂载点。
生成 tar.md5 文件
3829760K 为刚刚得到的 system 分区大小,不需要加 b。
system 为 system 的分区名。
/sdcard/system.img 表示打包完成将会在 /sdcard/ 下生成 system.img 文件。
/system 为 system 分区的挂载点。
在这里需要在 Unix/Linux 环境下打包。没有的话,在手机上直接安装 busybox,输入命令打包也是可以的(因为需要 busybox 中的 tar 和 md5sum 命令)。
1. 首先生成 .tar 格式文件
在这里其实就可以直接刷入了。直接刷入 .tar 格式的线刷包,Odin 不会校验线刷包是否存在数据错误。
输入如下命令:
输入如下命令:
-
- tar -cf flashfiles.tar cm.mbn sboot.mbn boot.img system.img
注:
flashfiles.tar 为生成的 tar 文件名。
cm.mbn sboot.mbn boot.img system.img 这些是需要打包的镜像文件,可填写多个,不要换行。
flashfiles.tar 为生成的 tar 文件名。
cm.mbn sboot.mbn boot.img system.img 这些是需要打包的镜像文件,可填写多个,不要换行。
2. 生成 .tar.md5 文件
这一步其实是可以省略的。
生成 .tar.md5 格式的线刷包后,Odin 在刷入 .tar.md5 格式的线刷包之前先对打包的 tar 文件进行 md5 验证,如果没有数据错误,才能刷入。否则会提示文件损坏。
-
- md5sum -t flashfiles.tar >> flashfiles.tar
3. 重命名文件:
-
- mv flashfiles.tar flashfiles.tar.md5
生成完毕,可以用 Odin 刷入了。