V970 改大 /data

为了节省成本,比较新的android手机一般会内置2G-4G flash, 然后将除去系统剩下的部分作为 /sdcard,这样就不用随手机还送一个鸡肋的 tf 卡了。然而国内厂家也明白国内的特殊需求,因此通常也会保留 tf 卡插槽。于是如果你真的插了一个 tf 卡,就会悲剧的挂载在 /sdcard2 /sdcard/extra 之类非标准路径,不能被很多软件利用。目前常见的千元 android 手机,比如 zte v970, 夏新 N820 等,都是这样。

最简单的解决方案是 root 以后,修改 /system/etc/vold.fstab, 将里面 /sdcard 和 tf 卡的路径倒过来,这样 /sdcard 就还指向 tf 卡。但是机身原有的 /sdcard 空间就跑到了非标准路径,只能用来放些 mp3 之类的,这部分空间通常有 1-2G,与此同时,手机的 /data 分区却还经常是小小的几百 M, 一不小心把几个大家伙装进去就满了。如果能把浪费的空间都给 /data 就堪称完美。内置 flash 的速度和稳定性都要比外置的 sd 卡有优势,可以用来运行经常要启动的应用,比如微博微信之类。

改手机分区大小也不算是什么新鲜事情,以前在只有 512M 或者 1G flash 的手机上,经常有人放出来调整 /system 分区的 rom。 但是 V970 等流行屌丝机大部分是 MTK 方案的,而 MTK 方案的资料少之又少,我自己尝试修改了刷写工具的分区描述文件,但是刷机以后似乎无效,启动以后原来的分区大小没有变化,网上搜了一下,搜到一些可能是从事 MTK android 开发的人的笔记,里面提到 MTK 方案改分区是修改代码里面一个 xls 文件,然后用 ptgen 工具来生成所有对应的 .h 和刷写用的分区描述文件。如果是这样的话,说明 MTK 平台的分区信息可能是硬编码在内核里面的。这样除非搞到内核源码能重编译,否则就没啥搞头了(网上唯一找到的 MTK android 改分区的 ROM 是 HD7 的,但是其用到的 MT6573 网上有泄露出来的源代码,因此不知道作者是不是使用那些代码编译了一个新内核出来)

不过我们还有退而求其次的方案,那就是干脆把 /data 和原来 /sdcard 的空间也给调换过来算了。这样就只浪费原来 /data 的几百兆。和调换内外卡的情况不同的是,/data 是在 boot.img 启动的时候就挂载了,因此要调换这个,光 root phone 是不行的,还得修改 boot.img 里面的启动脚本才行。基本思路就是先解包,然后修改,最后重新打成 boot.img 刷进手机即可。

解包 MTK boot.img 的工具和其他平台略有不同,请使用 xda 上 bruno 的工具 下载两个.pl 文件就可以了,然后找一个你平台可以用的 mkbootimg 过来。执行

perl unpack-MT65xx.pl boot.img

之后会生成 boot.img-kernel 文件和 boot.img-ramdisk 目录,目录下面就是所有启动时 ramdisk 里面的文件,在里面修改所有 .rc 中涉及 /data 分区的地方即可, V970 的可以用我做的 diff, 下载来

cd boot.img-ramdisk
patch -p1 ../v970-initrd-diff
cd ..

即可
最后重新打包

perl repack-MT65xx.pl -boot boot.img-kernel boot.img-ramdisk boot1.img

这样就得到了一个 boot1.img. 把这个 boot1.img 单独刷进手机即可。

刷完了以后不要急于启动,因为两个分区原来的内容是不一样的,以前 /data 是 ext3/ext4 格式,而 /sdcard 通常是 fat 格式,因此请同时刷个第三方 recovery, 然后直接启动进 recovery,用 adb 连进去格式化新的 /data, V970 是

adb shell mke2fs /emmc@fat
adb shell tune2fs -O extents,uninit_bg,dir_index /emmc@fat
adb shell e2fsck -f /emmc@fat

这里不用 recovery 的格式化功能是因为 recovery 对 /data 的位置理解可能不一样,有可能格式化了其他的分区。

之后重启手机即可。

最后鸣谢一下神族论坛的 shuaidi, 参考了他的改大 data 方案。不过他方案的问题是授人以鱼,直接丢给你一个改好的 boot.img,对于洁癖者来说说实在不能接受。这个 boot.img 还有个副作用是 adb shell 默认是 root,这个虽然方便,但是有点太不安全。而且出了新版本以后也没法刷。还是自己在官方 rom 的基础上根据原理来改比较保险一些。

用电池充电器自制Waterpik水牙线的电源

本来这件事情没啥可写的,不过过程中搜了半天都没有得到有用的信息。所以写在这里,希望对其他搜索的人有所帮助。

关键词:Waterpik 水牙线, 220V 110V 电源。自制。

从米国扛了两个 Waterpik 的水牙线来,结果忘记了美帝用 110v 电压,把变压器直接插插座上,几分钟之内屋里就满是糊味。。

以前也曾经这么搞坏过 medela 吸奶器的电源,当时从淘宝上花十块钱就配了一个比原配标称还高不少的电源。因此并不是很慌张,看看这个变压器上面有 3V 250ma 的标志,直接在淘宝上下单买了俩 3V 2A 的。没想到又仔细看了一下,发现这个 3V 250ma 居然是 AC 输出。。我还是头一次见到有小家电使用交流电的。这下麻烦了。网上搜索了半天,都没有任何资料。淘宝上自然更不会有。倒是有不少卖 220 -> 110 的变压器的,可是我 110V 的电源已经挂掉了啊。

仔细思考了一下,觉得用电机的小家电没有理由使用交流电,而且里面还有电池,所以里面应该还是把交流整成直流来用的。为了保险起见,把水牙线拆开了看了一眼,照片忘记拍了,不过结果很让人无语,里面电路简单到不行 — 直接串了一个二极管然后接到一个充电电池组的两端,再接到电机。于是一切都很明白了,为什么变压器的输出电流如此之低,就是为了给电池充电的时候电流不要过大。

在这样简陋的电路面前,新买的 3V 2A 的直流电源也不敢拿出来用了。3V 交流经过半波整流出来以后的直流电压大概在 2.1V 左右,3V 还是有点太高。于是变换思路。既然里面实际是给镍氢充电电池充电,那么不如直接用电池充电器了。

但是市面上常见的电池充电器通常是 1 节起充的,也就是输出电压其实是 1.2V. 而这个冲牙器里面的电池组是 2.4V 的,好在记得家里有个废了的充电器是要求两节一起充的。翻出来一看果然输出 2.4V 。于是把引线焊出来接上试了一下。果然好用,而且还有指示灯指示什么时候充好,比原厂的还要好用:)

Google reader 真是好东西 – 新浪博客真是屎

在微软即将关掉 live space 的时候,秋玥让我把她的博客 http://qiuyueshuo.spaces.live.com 给找个地方搬一下。我当时看新浪博客是微软官方合作的迁移伙伴,以为他能直接从后台拿数据呢,就随便开了个新浪博客设置搬了。当时比较忙,只看看前几篇都有,图也抓下来了。就没再关注。

结果前几天秋玥问我搬家的 blog 在哪里,我告诉她那个新浪的地址,她上去看了一眼,说怎么辛辛苦苦写的长文章都没有,短文章倒是都还在?一看果然是这样,丫的新浪博客搬家果然没给搬全。时隔多年,live space 早死的不能再死了。想再迁移到 wordpress.com 都没戏。秋玥很是生气,我很是郁闷。

今天忽然无聊,上了一下 google reader,意外发现当年所有的内容都在里面,一篇没少。真是难为它还存着这个倒了两年多的 blog。虽然 google reader 不提供内容导出功能,不过这种事情显然已经有前人搞过了。不知道是这个 blog 的问题还是 google reader 改了输出格式,feed 里面没有 description,只有 summary 没有 content,直接用会报错,需要自己手动修改一点,其他都没有什么问题。另外一个惊喜就是微软虽然把 space 给关了,不过存图片的 live filestore 还没关,于是 blog 里面的图大部分都还能看。少部分较早的没了。

最终工作结果在 http://qiuyueshuo.kangkang.org 感谢 Google reader, 感谢郭嘉,感谢 diang,感谢 CCAV。。 鄙视新浪博客,比网易博客的搬家做得差远了,早知道当时用网易搬一下,连评论都能带过来。

这个blog差点全军覆没

事实告诉我们,设置备份是多么重要,即使备份过程中出错了也还是有意义的。。

昨天打算升级一下系统,但是苦逼的CentOS/RHEL不支持直接 yum 在线升级,于是创建另外一个虚拟机装了 CentOS6 ,之后打算把数据分区复制一份挂过来调试,就把两个虚拟机都关掉,把 blogdata 分区文件复制一个给新虚拟机,却发现硬盘满了,看目录下面有个 data 分区文件,以为没用,就删掉给 blogdata 腾了点地方。谁想重启以后发现数据分区整个没了。。原来以前是用 blogdata 分区的,后来某次因为空间不够,就创建了 data 分区改用那个了。自己完全把这件事情忘得精光 :(

刚发现时候心里也不是太慌,因为有设置定时 rsync 到家里的驴盒上面。结果登录家里驴盒一看,备份不知道什么时候停了,最新的备份只到 6 月份,这下可真慌神了,赶紧查看 google cache,发现 google cache 也不全,没有前天的内容,偏偏前天有个大量更新。而且,google cache 里面没有图片, 图片搜索里面只有缩略图,没有原大的。

就在我打算放弃,用6月备份先把系统搭起来的时候,顺手把那个 blogdata 分区挂上瞅了一眼,居然发现这个里面有完整的备份。当时设置备份的时候出于习惯,把准备备份文件的临时目录放在了另外一个分区。而这个临时目录在处理完也不删除。虽然异地备份失败了,但是本地准备备份文件这个脚本一直还在正常运行。于是我就从临时目录里面捡出来了几乎所有数据。

最终这个blog还是正常恢复了,为了纪念一下,特此更新一篇。

江湖救急,请大家帮忙

好久没有更新 blog 了, 更新一下, 却是请大家帮忙..

俺快要大婚了, 婚礼上面需要做个视频, 我想仿 “请嫁给 doskey” 那样, 请大家帮忙有创意地写下祝福并拍成照片.

内容需要两种,

一种是求婚专用, 核心思想是”lqy, 请嫁给 kxn 吧”
一种是普通的婚礼祝福.

您随便做哪种都成, 要是两种就更好了. 第一种的用量可能会多一些.

您做好了以后请发给 kang@kangkang.net , 或者如果您想和其他人分享您的创意, 也可以登陆水木二站, 贴在这个版面, 实在不好意思, 我连个能发图的地方都没有 :( 因为很快就要用了, 所以大家最好能在这个周末弄好,下周之内也可以.

再次感谢大家! 谢谢!

最近评论

时光机

其他