[ROM制作/修改] 【纯纯的技术强贴】Desire HD 内部存储的分区情况 + ROM预告

http://www.hiapk.com/bbs/thread-878875-1-1.html

以下内容均为本人原创!请勿转载

这几天分析了一下DHD的分区情况,写了个总结,分享下!
个人原文发布网址:Desire HD 内部存储的分区情况

Desire HD中的内部存储是使用了Sandisk的eMMC芯片,从内核的信息和Hoot的信息来看,这个芯片应该是2G的,但时从网友拆机的图片来看,又是应该是4G的SDIN5C2-4G。对于这个消失的2G,网上的解释: The Missing 2GB,但是我还没有仔细研究eMMC,到看完了数据手册在看看是否可信。
     我花时间整理了一下已知的分区信息:

  • Desire HD 内部存储分布
  • mmcblk0         ----------内置2G eMMC存储模块
  • mmcblk0p1         ----------qcsbl_cfg                  500KB(0x7D000)(1000block)
  • mmcblk0p2         ----------qcsbl(All is "0")        64KB(0x10000)(128block)
  • mmcblk0p3         ----------osbl                       4500KB(0x465000)(9000block)
  • mmcblk0p4         ----------eMMC扩展分区表              1KB(0x400)(2block)
  • -------------------------------------------------------------------------------------------------------
  • 以下属于扩展分区:
  • mmcblk0p5         ----------modem(ELF for ARM)         30000KB(0x1D4C000)(60000block)
  • mmcblk0p6         ----------adsp                       12500KB(0xC35000)(25000block)
  • mmcblk0p7         ----------htc                        2MB(0x200000)(4096block)
  • mmcblk0p8         ----------rf_nv(All is "0")          3MB(0x300000)(6144block)
  • mmcblk0p9         ----------nv_mfg(All is "0")         2MB(0x200000)(4096block)
  • mmcblk0p10         ---------cdma_user_data(All is "0") 1MB(0x100000)(2048block)
  • mmcblk0p11         ---------rf_delta(All is "0")       1MB(0x100000)(2048block)
  • mmcblk0p12         ---------reserved(All is "0")       8751.5KB(0x88BE00)(17503block)
  • mmcblk0p13         ---------modem_fs1                  3MB(0x300000)(6144block)
  • mmcblk0p14         ---------modem_fs2                  3MB(0x300000)(6144block)
  • mmcblk0p15         ---------htc_data(All is "0")     1MB(0x100000)(2048block)
  • mmcblk0p16         ---------htc_reserved(All is "0") 8957.5KB(0x8BF600)(17915block)
  • mmcblk0p17         ---------misc                       256KB(0x40000)(512block)
  • mmcblk0p18         ---------appsbl(Hboot)            1MB(0x100000)(2048block)
  • mmcblk0p19         ---------splash                     1MB(0x100000)(2048block)
  • mmcblk0p20         ---------wifi                       1280KB(0x140000)(2560block)
  • mmcblk0p21         ---------recovery                   8701KB(0x87F400)(17402block)
  • mmcblk0p22         ---------apps(boot)               4MB(0x400000)(8192block)
  • mmcblk0p23         ---------mfg                        256KB(0x40000)(512block)
  • mmcblk0p24         ---------splash2                    2047KB(0x1FFC00)(4094block)
  • mmcblk0p25         ---------system(ext3)               571391.5KB(0x22DFFE00)(1142783block)---约558MB
  • mmcblk0p26         ---------data(ext3)                 1203199.5KB(0x496FFE00)(2406399block)---约1175MB
  • mmcblk0p27         ---------cache(ext3)                307199.5KB(0x12BFFE00)(614399block)---约300MB
  • mmcblk0p28         ---------devlog(ext3)               21247.5KB(0x14BFE00)(42495block)---约20.75MB
  • mmcblk0p29         ---------All is "0"                 256KB(0x40000)(512block)



其中:
Hboot分区是存储了Hboot代码的地方,我们S-OFF的时候就是用工程版本的Hboot覆盖这个分区


misc中记录了Hboot的CID、版本信息等,需要通过RUU给HBOOT降级的就是通过修改这个分区的裸数据来欺骗RUU的。
这个分区的内部结构不太清楚。我查了网上的资料,结合我导出的镜像,大致的结构是:
0x00            CID
0x10             enter_bootloader
0x20
             cold boot (DeviceWarmBoot)
0x30
             goupdateloader
0x40
             (NBH)
0x50
             CE Serial InUse/0
0x60
             Debug Cable Ena/0
0x70
             CE USB InUse/0
0x80
             (IMG)
0x90
             ClearAutoImage /0
0xa0
             *.**.***.*/0(HBoot version)

splash分区是存储开机botloader图片(第一屏)的,修改第一屏就是通过覆盖这个分区做到了。


splash2分区电池充满示意图片,格式和splash一样,大小同为0xBB820。


mfg分区是包含了设备信息的分区,包括Wifi的MAC、蓝牙的MAC、


recovery 是恢复模式镜像区,和boot类似。

BootLinux操作系统内核和ramdisk镜像一起打包后存放的分区。


system是system系统分区,启动后此镜像挂载在根目录下的system文件夹中,包含了所有主要的android系统文件。


cache 是缓存临时文件夹,挂载为/cache目录,据说是除了OTA更新外,别无用处。


data 是用户安装的软件以及各种数据,挂载为/data目录,用户自行安装的软件都在此。



devlog是应该是记录日志的,但是我看了自己的机子,没什么东西。
----------------------------------------------------------------------------------

关于其他机型的参考资料



由于 T-Mobile G2和Desire HD在存储器上用的芯片一样,且连分区格式和大小都基本一致(只有data分区大小有一点不同),所以在这方面可以大量参开外国大牛对T-Mobile G2的分析。
eMMC Partitioning
Understanding eMMC User Capacity


这些信息还不完整,希望有更多信息的朋友通知下。

现在已经用上了自己编译的内核
(源码暂时是kamma的,还未自己修改,准备再评估几个内核版本,最后找个最合适的再自己改):

1.5G的最高主频,quadrant advanced.v1.1.1跑分非常不错!


以下是原版内核跑分:


以下是I9000的跑分:


接下来有时间就自己编译ROM来试试。


补充

这个1.5G的内核经过我自己使用有一段时间了!稳定性绝对没出现过问题,已被我刷进boot分区!

而大家最为关心超频是否会很耗电,这个个人认为不用过于担心了,个人感觉和原版没什么大的区别。

因为这个1.5G是最高频,而在正常使用状态下的CPU则是动态的。待机基本维持在240MHz!
上两个图,有图有真相:

你可能感兴趣的:([ROM制作/修改] 【纯纯的技术强贴】Desire HD 内部存储的分区情况 + ROM预告)