CM5开启Cache Hack增大可用空间至87.4MB

转自:http://noirbright.com/?p=412

这个rom是的noirbright习作

首先来解释下cache hack

G1的空间小,大家众所周知,在不刷Danger SPL的情况下,G1的主要分区大小如下:

/system 67.5MB

/data 74.7MB

/cache 67.5MB

刷了Danger SPL后,空间会有所增加

/system 90MB

/data 89.7MB

/cache 30MB

Danger SPL,解决了早期G1空间不够,无法升级rom的窘境。但是随着Android版本号的逐步提升,G1的空间又逐步显得吃紧起来,所以又有人动起了Cache分区里剩下的那30MB的主意。

我们知道Cache分区的作用其实并不大,我们甚至可以把主要的cache文件都移动到SD卡上,而且大多数情况下,Cache分区是空的,所以这部分空间其实也能合理利用起来。

Cache Hack就是针对这种情况出现的空间的解决方案(也只有G1这种老机器才会有人折腾这个,呵呵)

Cache Hack的实现

要实现Cache Hack还是需要一些rom制作基础的。

首先,Cache Hack必须要boot.img的支持才能实现。

boot.img是由kernel和ramdisk组成的。我们可以通过脚本将boot.img拆成kernel和ramdisk两个文件,解压ramdisk,即可得到ramdisk内的内容,我们需要修改的就是ramdisk里的init.rc文件,具体的修改方式可以参考XDA上的这个帖子:http://forum.xda-developers.com/showthread.php?t=653348

改完init.rc后,再通过脚本将kernel和ramdisk重新打包成boot.img,这样,boot.img就搞定了

其次,是调整rom包的结构,将你需要复制到cache分区的内容与system分区分开,具体可以参考我上传的这个rom。

再次,依然参照xda上那个帖子,添加启动时所需要的脚本。

最后,修改update script,建立系统间的连接,这个同样也可以参考我这个rom的做法。

打包,签名,刷机。

启动后,手机的内部可用空间即达到了87.4MB

已知问题

目前,cache hack使用的是与cm不同的app2sd的方式,故在cm5上开启cache hack后,cm5的app2sd只能长期处于开启状态,无法关闭,不过好在这并不影响我们的使用,后期看看这个问题是否可以进一步修正。

适用范围

cache hack比较适合用在rom体积较大的包上,比如sense的rom,比如slide的rom,当你因为在移植rom过程中发现空间不够不得不精简系统,但又发现没啥好减的时候,就可以开始考虑用cache hack试试了。

示例rom下载

下载 


原文地址:https://www.cnblogs.com/shenhaocn/p/1743554.html