博文

目前显示的是 十月, 2012的博文

2 小时半途而废玩 android rom

最近得了个新手机,国货。 跟手里再用的经典摩托 milestone 不同,国产手机本来就少有 cyanogenmod 直接支持,倘若又无强人仗义撑腰(在这里真的要特别感谢 nadlabak ,milestone 这样的老机器能有 cm7 可用,当初真是没有选错机器!),就只能忍受国内论坛各种夹带私货的 rom。 现在再用的来自 移动叔叔 的 rom 算干净的,但也会每次开机都重新搞个叔叔工具箱进来。于是花了点时间看了看能不能把这个东西干掉。 linux 用户么,第一个要怀疑的就是 /etc/init*。各种 find/grep 下来,发现塞了私货的脚本其实写在 /init.rc 里。看到了脚本就好办,三下五除二搞定。 一个顺带的发现是替换启动动画其实很简单,替换 /system/media/bootanimation.zip 即可,里面就是一堆图片+一个描述文件,自己做起来也不麻烦。关键字『best android bootanimation』能给出不少好结果。 重启,结果移动叔叔又回来了,检查 /init.rc,居然恢复成之前的样子了,失败。 看了看刷机 zip 包,里面的目录结构从 /system 起。那么,根目录的这些东西是从哪儿来的呢?看来看去,包里面的 boot.img 最可疑。 file 了一下 boot.img,类型是 data,失败。尝试直接 mount boot.img,失败。放狗搜 boot.img,居然是个 大杂烩 ,跟 bootanimation.zip 的风格一点都不一样,很嵌入式。 顿时有点不想搞了。不过路线看起来还是比较清楚的,gzip+cpio。但是改完了的新 boot.img 是不是就这么塞回刷机包里看起来还是有风险,因为刷机包貌似有个什么签名机制。没来得及细看。 等有时间了再慢慢琢磨吧,奶爸不易。 总结: 做刷机包不是很高精尖的技术。只要能找到准确的文档,照办即可。 通常 android 手机拿来第一步都是要刷 recovery 进去。基本上,线刷就是用特定工具配合特定驱动,将手机内置存储分段刷入目的不同的数据块。recovery 就是其中之一。如果要对内置存储重新分区,看起来只有在线刷的阶段做比较安全。 所谓卡刷,就是用固化在 recovery 段的代码负责格式化某些分区,并