物好き者

物好き者が行ったことを載せています。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

Streak 2.2.1 でOpenVPNを利用できるようにしました

Streak 2.2.1 でAndroidのrootを取得しました でrootが取得できたので、下記を参考にOpenVPNをインストールしました。

beautiful-moon.net » Blog Archive » Xperia(Android)からOpenVPN接続
個人的自由帳 » OpenVPN on IS01

必要なのはmbusybox、OpenVPN Installer、OpenVPN Settingsなので、マーケットからインストールしました。

OpenVPNInstallerのアプリを実行てインストールを行いました。
インストール先は選択画面の一番上にある /system/xbin/openvpn に行いました。
USBでPCと接続して、/sdcardにopenvpnというディレクトリを作成し、Windowsで利用しているOpenVPNの設定ファイルと証明書をコピーしました。
ただし、PCで使用しているOpenVPNの設定ファイルにはコメントが大量にあるためうまく動かず、すべてのコメントを削除しました。

OpenVPNに必要なBusyBoxコマンドをシンボリックリンクで作成しました。
ln -s /system/xbin/ifconfig /system/xbin/bb/ifconfig
ln -s /system/xbin/route /system/xbin/bb/route

OpenVPNSettingsを起動して、Advancedメニューを起動し、Path to openvpn binary で、インストール先を設定しました。
OpenVPNSettinguで設定ファイルをチェックすると、tun/tapでエラーとなります。

tun.koファイルが必要なのでいくつかのサイトからダウンロードして/sdcard/openvpnに配置しましたが、どれもエラーで組み込むことができませんでした。
PCから接続してdmesgを確認すると、version magicが違うという下記のエラーが発生していました。
<3>[ 6000.487366] tun: version magic '2.6.29-a2443432 preempt mod_unload ARMv7 '
should be '2.6.32.9-perf preempt mod_unload ARMv7 '

ひとつだけ組み込むことができるものがあったのですが、OpenVPNを起動した後にAndroidがクラッシュして再起動してしまいます。

tun.koをコンパイルすることができるということなので、下記を参考にLinuxでtun.koをコンパイルしました。
creams@nexus: Camangi FM600 how to build tun.ko module.

Streakからconfig.gzをLinuxにコピーしました。
下記コマンドをLinuxで実行していきました。
 git clone git://android.git.kernel.org/kernel/msm.git
 cd msm
 git branch
 git branch -r
 git checkout --track -b android-msm-2.6.32 origin/archive/android-msm-2.6.32
 git branch
 gzip -d config.gz
 cp config kernel/.config
 make menuconfig ARCH=arm
 Device Drivers => Network device support => Universal TUN/TAP device driver support [M]
 make -j2 ARCH=arm CROSS_COMPILE=/root/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-eabi- modules
drivers/net/tun.ko をAndroidの/sdcard/openvpnにコピーしました。

この状態でOpenVPNを起動したところ、問題なく接続することができました。

次はSIPクライアントを利用して家のPR-S300NEを利用できるようにしていきます。

スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する
 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。