Galaxy Noteは、メモをとるのに特化しているというユーザー視点からうれしいだけではなく、
・iPod touchにくらべるとはるかにハイスペック
・しかも/dev/tunがデフォでサポートされている
という、大きな利点があって、開発者としてもうれしい。
# ls -l /dev/tun crw-rw---- vpn vpn 10, 200 2011-12-06 17:46 tun
ようするに、root権をとって、OpenVPNのバイナリさえ引っ張ってこれば、この前iPod touchでやったようなことが、より高性能・高機能なハードで実現できるということだ。
ちなみに、このへんの情報を見るに、Galaxy S2でも同じようにできそう。持ってないからしらんけど。
rootとる
ぐぐれば出てくるので簡単に概要だけ。
「zergRush」というバイナリでrootシェルに入る。
↓
suバイナリを/system/xbin/ に放りこむ
↓
busybox --install /system/xbin で、コマンドセットを放り込む
↓
ls と su だけはオリジナルのものを使う
# cd /system/xbin/ mv ls ls.org ln -s /system/sbin/ls lsみたいな感じで。
OpenVPN
前準備として、以下が必要
adb shell # mkdir /system/xbin/bb # cd /system/xbin/bb # ln -s /system/xbin/ifconfig ifconfig # ln -s /system/xbin/route routeこれをしないとVPN接続時に変なエラーが出る。
---(参考)---
Tue Dec 6 21:08:53 2011 Linux ifconfig failed: could not execute external program Tue Dec 6 21:08:53 2011 Exiting↑/system/xbin/bb/ifconfig がないとき
Tue Dec 6 21:13:29 2011 ERROR: Linux route add command failed: could not execute external program Tue Dec 6 21:13:29 2011 ERROR: Linux route add command failed: could not execute external program↑/system/xbin/bb/route がないとき
-----------------
以上の準備がそろえば、あとはバイナリ(→http://github.com/downloads/fries/android-external-openvpn/openvpn-static-2.1.1.bz2)を 適当な場所に放り込んで、
./openvpn --config client.confで動いた。client.confや、鍵はPCとかiPod touch で用いたものと同様の構成のもの。