分类 Uncategorized 下的文章

Blog支持HTTPS和HTTPV2了

如题,感谢 Letsencrypt 给人民群众提供免费 ssl 证书,感谢 nginx 加入 httpv2 支持。感谢党的备案政策让我下定决心把 blog 迁移到国外。

把二娃的域名注册了

Godaddy 的域名虽然比较贵,不过用coupon就还好,总能做到60人民币左右一年的价格。续费有点贵而且不能用coupon,于是把大娃的域名迁移到namecheap了。回头把大娃的blog数据同步过来把站开起来。

blog搬家和一些其他的

时隔一年半,我blog又开始更新了。

这一年多来这个 blog 可算是命运多蹇。先是因为备案被取消,生生被从机房赶了出来,开始还打算去备个案,后来也完全懒得再弄了,于是就顺手放到了之前买的一个用于翻墙的 bluevm 特价主机上。可是不知道是不是因为 512M 的 KVM 跑这堆东西比较勉强,时不时就死机,最近一次更是死的连后台都起不来了。给 bluevm 发 ticket 也没人理。好在最近稍微有些时间,就又买了个配置稍微高点的 vps 用来放他。希望这次不要再挂了。

顺便整理了一下模板,之前的主题是手机上不能用的,现在加了插件,让手机上也能比较愉快的看。色调也统一换成没什么特点的黑白色。

希望回头还能坚持写它。

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 的基础上根据原理来改比较保险一些。

今天去香山的GPS路线

以前没有找到能在 M600i 上面用的 GPS 路径程序,能找到的都是一些导航软件,但是驾车导航对爬山明显没有太大帮助。 Palm 上倒是有,不过我实在不太想背着两个手机爬山,于是以前都没有记录路径。最近找到了 Mobile TrailExplorer 这个软件,还是开源的,就拿来试用了一下。效果还凑合,唯一遗憾是中间接到一个短信要回,于是将这个 java 程序切换到了后台,再切回来以后他就失去同步了,更糟糕的是我一直没有发现这个事情,走到中间的平台了才发现,于是 stop/start 了一下,就恢复正常了,但是中间的数据都丢掉了。在路径图上表现就是一根直线。另外图中很多地方的速度都很低,还有很多 0km/h 的地方,那是走几步休息一下的结果。没办法,这也是我为什么不愿意和别人一起爬山的原因,实在是太丢脸了。。

在香山山半腰的平台处,有一个指示说到山顶有 900 米,600 级台阶,水平爬升 200 米,今天有了 GPS 辅助专门看了一下,这段路其实水平爬升高度有 250 米还多,平台的海拔在 289 米左右,而顶峰是 555 米(香炉峰上面有块石头上面写着说海拔 557 米,跟我的 GPS 显示有小差距,不过这个想来应该还是他的准一点,毕竟我这个只是三百多买的小东西,而且现在还降价到两百多了)。

Mobile Trail Explorer 支持导出成 KML 格式,在 Google Earth 中显示的路径如下(点击可以查看大图):

香山路线

最后是一点补充说明,Mobile Trail Explorer 默认在 m600i 上面是没法用的,因为这个东西进入设置界面只能通过软键,但是 m600i 上面没有实际的软键,是触摸屏上面显示一个按钮。Mobile Trail Explorer 是在全屏模式下面工作的,于是这个按钮显示不出来,也没有快捷键可以进入。我最后是下载了源代码自己把全屏给禁止了才能用的,开源软件就是这点好啊。如果有时间的话,计划修一下那个切到后台再切回来会失去同步的问题。

最近评论

时光机

其他