『相机修复』CM507_NOirMod, BFS, Cache Hack, JIT, FAST
- 五月 27th, 2010
- 进行评论
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还是需要一些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试试了。
本文只是叙述Ubuntu下编译环境的搭建和ROM的编译过程,过程中可能会需要一些Ubuntu的常规操作技巧,在本文里就不详细介绍了,Ubuntu的新手可以通过谷歌学习一下,笔者也是新手,刚用没多久,谷歌一下并不难,另外由于源码和编译后生成的文件都比较大,如果想要折腾起来的话,ubuntu的分区最好能有30G,20G的话一会就用完了,笔者之前也是分了20G,但不一会就空间不足了,故最后格掉分区,重新分了100G给ubuntu。
JDK安装
a) JDK是Ubuntu下使用Android SDK,编译源代码等必备的软件包,首先我们现来装这个
b) 从sun官方网站下载最新版的JDK,一般是个.bin的文件,笔者下载的是jdk-6u20-linux-i586.bin(根据文件不同,命令的也会有所变化,大家在使用的时候要注意,主要是文件名和路径的变化)。
c) 由于JDK运行时会在当前目录下安装,所以在安装前,先把它移动到你想要安装的目录,比如笔者将其安装在/usr/lib/jvm/java目录下,如果你也想安装在相同目录,可以照着我下面的命令来做 阅读全文