passive log strage

バイク , モバイルガジェット , アウトドア用品 , 腕時計 ・・・等。

FlexiView FV-1 でrootになる

USB接続経由adbを使わなくても、案外簡単にできたのでメモしておく。

参考:【Android】Desire HD for Android Revolution HD カスタムROM焼き:適当に更新diary:So-netブログ

おそらく、rootを取るだけなら他の端末でも同じ手順で大丈夫だと思う。

準備

とりあえず、こいつをインストール。

https://market.android.com/details?id=com.noshufou.android.su&feature=search_result

/system/xbin/su を叩くプロセスがあった場合、こいつが事前に拾って許可するかブロックするかの確認ダイアログを出してくれる。以後、怪しいプロセスが走る可能性がゼロではないので、念のため。
もちろん、以後行うVISIONaryやコンソールもsuを叩くので、そのときに許可をしておく。

次に、いよいよrootを取得するツールをインストールする。

VISIONary+ r14

まず、ツール本体をSDカードに落とす。

http://www.mediafire.com/?pv3x10ul3ajcnqj

そのままapkファイルが落ちてくる。

com.modaco.visionaryplus.r14.apk

適当なファイラ(アストロ等)でこのapkを起動すると、「アプリケーションマネージャ」で開くか確認ダイアログが出るので許可。

インストール後、VISIONary+を起動。
「Temproot on boot」にチェックを入れ、「Temproot now」をタップすると、処理画面になった後、同じ画面に戻ってくる。
最後に「Attempt Permroot now」をタップすると、システムが再起動する。

これでrootの取得は完了。

rootでの作業が終わった後は、「Unroot now」をタップして、権限を元に戻しておく事をお勧めする。

コマンドの配置

もう一気にコマンドを配置してしまう。

とりあえず取り急ぎ必要なのはbusyboxbash。これらをSDカードにコピー。今回はSDカード直下の/apkフォルダにコピーした。
と、その前に、busyboxアプレット事にコマンドとして実行できるよう、「ln -s」するスクリプトを作っておき、busyboxbashのバイナリと一緒に送り込む。
中身は↓こんなかんじ。

#/data/local/sbin/bash
ln -s ./busybox [
ln -s ./busybox [[
ln -s ./busybox addgroup
ln -s ./busybox adduser
ln -s ./busybox adjtimex
    :
    :
    :
ln -s ./busybox xargs
ln -s ./busybox yes
ln -s ./busybox zcat
ln -s ./busybox zcip

busyboxの仕組みは、busybox自身が呼び出された名前を判別して、その名前のアプレットを実行する。このスクリプトを実行することによって、シンボリックリンクを展開する。これらのシンボリック名はbusyboxのリファレンスから引っ張ったもの。
まぁ、「作っておく」っていうか、IS01やIS11CAにbusyboxを展開する際にも使っている「作り置き」だけど。

で、SDカードをFV-1に差してコンソールを起動。

$ su -     ←ここでSuperuserがブロックを掛けるので「許可」をタップ
# cd /data/local/
# mkdir sbin
# chmod 755 sbin
# cd sbin
# cp /sdcard/external-sd/apk/* ./      ←コンソールから/sdcard/apkは
                                 こういうパスになる
# chmod 755 ./*
# ./busybox_ln.sh                 ←busyboxアプレットシンボリックリンクを展開
# chmod 755 ./*

ここまででコンソールの展開は終わったが、busyboxにはsuアプレットが含まれているので、一緒に展開されてしまっている。このシンボリックリンクを削除する。

# rm su
# exit
$ 

これで完了。

以上でとりあえず必要なコマンドはそろった。最後にコンソールの初期コマンドを設定する。

コンソールの初期コマンド設定

Androidの場合、ユーザがあるわけではないので*1、homeフォルダがあるわけでもない。ログイン時に読込まれるスクリプトをコンソールの「初期コマンド」で設定する。

export PATH=/data/local/sbin:/data/local/bin:$PATH;bash --init-file /data/local/sbin/bash_profile

bash_profile」にbashスクリプトを書いておき、起動シェルではなく、初期コマンドからbashを起動することで対処する。

後処理

最後にVISIONary+の「Temproot on boot」のチェックを外して、「Unroot now」をタップしてから、再起動してrootedを解除する。 ←これをやっても/system/xbin/suにはアクセスできるみたい。「Unroot now」の前に「Temproot now」をタップしとけばOKっぽい。

さて、これでスタート地点に立つ事ができた。

当面の予定

  • qwerty.klを変更。
  • フォントの変更。

*1:この書き方だとuserが無いように読めるな、そうじゃなくて通常使うときにログインユーザとしてのユーザは無い・・・これもわかりづらいか