云梦
www.htcp.net

如何制作 Samsung 的 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 命令打包

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 文件

在这里需要在 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 这些是需要打包的镜像文件,可填写多个,不要换行。

2. 生成 .tar.md5 文件

这一步其实是可以省略的。

生成 .tar.md5 格式的线刷包后,Odin 在刷入 .tar.md5 格式的线刷包之前先对打包的 tar 文件进行 md5 验证,如果没有数据错误,才能刷入。否则会提示文件损坏。

md5sum -t flashfiles.tar >> flashfiles.tar

3. 重命名文件:

mv flashfiles.tar flashfiles.tar.md5

生成完毕,可以用 Odin 刷入了。

题外话

有人会觉得每次校验很麻烦,我在这里告诉大家一个取巧的方法:

直接将 .tar.md5 重命名为 .tar,然后再用 Odin 刷入,就不会校验了,不管这个线刷包有没有做 .tar.md5 的步骤。

赞(0) 打赏
文章通过 CC 4.0 BY-NC-ND 协议发布,转载请注明出处:云梦 » 如何制作 Samsung 的 tar.md5 格式线刷包

评论 6

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #3

    站长会不会适配rom?

    lsm2年前 (2016-11-06)回复
  2. #2

    个人认为dd出来之后再用img2simg更好一些 我用make_ext4fs有时候会因为权限问题卡第二屏

    dsanke2年前 (2016-09-05)回复
    • 因为没有正确的使用 make_ext4fs 命令,所以会卡屏。

      admin2年前 (2016-09-06)回复
    • dd出来的img大小与system分区等大,然而make_ext4fs出来的img为实际大小

      zjns2年前 (2016-09-11)回复
  3. #1

    精神上支持一个

    panda胖达4年前 (2014-11-04)回复

如果您觉得文章有用,可以支持一下本站

支付宝扫一扫打赏

QQ 扫一扫打赏