如何在android emmc中读取特定区域

时间:2013-04-06 02:18:18

标签: android

我想阅读我的设备的emmc,因为恢复似乎就在它上面。 cat / proc / mtd不提供任何输出,sp flash工具无法读取deice :(

我想要做的是用库存文件(它的MTK设备)替换CWM恢复中的一些文件。

cat / proc / dumchar_info给出一个这样的表:

Part_Name   Size    StartAddr   Type    MapTo
preloader    0x0000000000040000   0x0000000000000000   2   /dev/misc-sd
dsp_bl       0x00000000005c0000   0x0000000000040000   2   /dev/misc-sd
mbr          0x0000000000004000   0x0000000000000000   2   /dev/block/mmcblk0
ebr1         0x000000000005c000   0x0000000000004000   2   /dev/block/mmcblk0p1
pmt          0x0000000000400000   0x0000000000060000   2   /dev/block/mmcblk0
nvram        0x0000000000300000   0x0000000000460000   2   /dev/block/mmcblk0
seccfg       0x0000000000020000   0x0000000000760000   2   /dev/block/mmcblk0
uboot        0x0000000000060000   0x0000000000780000   2   /dev/block/mmcblk0
bootimg      0x0000000000600000   0x00000000007e0000   2   /dev/block/mmcblk0
recovery     0x0000000000600000   0x0000000000de0000   2   /dev/block/mmcblk0
sec_ro       0x0000000000600000   0x00000000013e0000   2   /dev/block/mmcblk0p5
misc         0x0000000000060000   0x00000000019e0000   2   /dev/block/mmcblk0
logo         0x0000000000300000   0x0000000001a40000   2   /dev/block/mmcblk0
expdb        0x00000000000a0000   0x0000000001d40000   2   /dev/block/mmcblk0
ebr2         0x0000000000004000   0x0000000001de0000   2   /dev/block/mmcblk0
android      0x0000000020100000   0x0000000001de4000   2   /dev/block/mmcblk0p6
cache        0x0000000020100000   0x0000000021ee4000   2   /dev/block/mmcblk0p2
usrdata      0x0000000020100000   0x0000000041fe4000   2   /dev/block/mmcblk0p3
fat          0x0000000083f1c000   0x00000000620e4000   2   /dev/block/mmcblk0p4
bmtpool      0x0000000000a00000   0x00000000ff9f0050   2   /dev/block/mmcblk0
Part_Name:Partition name you should open;
Size:size of partition
StartAddr:Start Address of partition;
Type:Type of partition(MTD=1,EMMC=2)
MapTo:actual device you operate

任何帮助?

3 个答案:

答案 0 :(得分:2)

如您所见,dumchar_info中的所有分区都是类型2(= emmc,而不是mtd),因此请使用cat /proc/emmc代替cat /proc/mtd".

无论如何,您可能会使用MTKDroidTools by Rua1为您的MTK设备创建一个分散文件,然后将此分散加载到SP Flash Tool,单击Read back选项卡,然后将所需的恢复分区的地址和大小添加到转储它是一个文件。

要查找地址和大小,只需在文本编辑器中打开分散文件,在标签revocery后复制十六进制数字(这将是emmc中的物理地址),然后从下一个分区的地址中减去它(这将是大小)。

或者您可以使用dumchar_info中的大小,但不要使用这些地址,因为这些地址是与映射设备相关的相对地址。

答案 1 :(得分:1)

您需要获取手机恢复的分区地址。然后使用dd拉出该分区,使用Bruno Martin的脚本解压缩,进行更改,重新打包并将其恢复到其地址。

答案 2 :(得分:1)

如果要获取emmc的分区详细信息,请键入

  

cat / proc / emmc

Mtk恢复不会在这里列出。

使用dumchar_info恢复是在mmcblk0分区中。您可以使用dd命令复制恢复并将其闪回。

用于复制恢复分区类型

  

dd if = / dev / block / mmcblk0 of = / sdcard / recovery.img bs = 1024 count = 6144 skip = 14208

您可以在SD卡中找到recovery.img。

用于闪回:

  

dd if = / path_of_new_recovery_img = / dev / block / mmcblk0 bs = 1024 count = 6144 seek = 14208

或者

  

dd if = / path_of_new_recovery_img = / dev / recovery