LinuxでL-01D(ICS)をroot化
早くもAndroid 4.0 ICS化したL-01Dのroot権限取得が可能になっていたようです。
参考、というか下記のページの丸パクリみたいなものです。
docomo Optimus LTE L-01D 公式ICS 4.0.4 root化 に関するメモ
環境はXubuntu12.10 OpenJava JDK7、Android SDKの準備については過去記事を参考にしてください。
- ダウンロード
VpnFaker v21
L-01D_V20c_root.zip
Superuser-3.1.3-arm-signed.zip
上記のファイルをダウンロード、解凍して出てきた.batファイルをテキストエディタで覗いてそれに従ってコマンド打ち込むだけです。以下の説明は蛇足というか他人の褌でなんとやらです。 - VpnFaker(偽装ターミナル)の導入
VpnFaker-V21.zipを解凍。出てきたfilesディレクトリでターミナルを実行。L-01DをPCに接続してadbコマンドが使えることを確認したら、以下のコマンドを順番に実行。adb shell vdc volume unmount sdcard force
adb uninstall com.android.vpndialogs
adb pull /data/system/packages.xml
adb push busybox /data/local/tmp
adb shell chmod 755 /data/local/tmp/busybox
adb push VpnFakerV2.tar.gz /data/local/tmp
adb shell /data/local/tmp/busybox tar zxf /data/local/tmp/VpnFakerV2.tar.gz -C /data/local/tmp
adb restore settings.ab
→ここでL-01Dの画面に復元ついての表示が出るが無視。
adb shell /data/local/tmp/mod-system.sh
→以上のコマンド実行した後、「データを復元する」ボタンを押す。
adb restore settings.ab
→ここでL-01Dの画面に復元ついての表示が出るが無視。
adb shell /data/local/tmp/mod-app.sh
→以上のコマンド実行した後、「データを復元する」ボタンを押す。
adb shell rm /data/system/packages.xml-
adb reboot
成功すると再起動時に Androidをアップグレード中というダイアログが出て、
下記のコマンドで端末画面に青いターミナルがでる。
adb shell am start -n com.android.vpndialogs/.Term - root権限の奪取
L-01D_V20c_root.zipを解凍し、中のfilesディレクトリでターミナルを実行。以下のコマンドを順番に。
adb push busybox /data/local/tmp
adb shell chmod 755 /data/local/tmp/busybox
adb push mod.tar.gz /data/local/tmp
adb shell /data/local/tmp/busybox tar zxf /data/local/tmp/mod.tar.gz -C /data/local/tmp
adb shell am start -n com.android.vpndialogs/.AutoexecRun
adb shell sleep 2
adb push onBoot.dummy /data/local/tmp/onBoot
adb shell chmod 755 /data/local/tmp/onBoot
adb shell dd if=/dev/block/system of=/data/local/tmp/system.img bs=128K
→バックアップを作成するのでそれなりに時間がかかります。ボクは待ち時間にシャワーを浴びました。
adb shell chmod 777 /data/local/tmp/system.img
→本来の手順にこれは含まれていませんが、ボクの環境では権限が無いと怒られてしまったので追加しました。
adb pull /data/local/tmp/system.img
adb shell rm /data/local/tmp/system.img
adb push busybox /data/local/tmp
adb shell chmod 755 /data/local/tmp/busybox
adb push onBoot.stop /data/local/tmp/onBoot
adb shell chmod 755 /data/local/tmp/onBoot
adb shell am start -n com.android.vpndialogs/.AutoexecRun
adb shell sleep 2
adb push onBoot.dummy /data/local/tmp/onBoot
adb shell chmod 755 /data/local/tmp/onBoot
adb shell /data/local/tmp/modify.sh
adb reboot
端末再起動後、以下のコマンドを実行
adb shell
lsmod
そして以下のように表示されればここまでの作業はOK。
bthid 3856 0 - Live 0xbf004000
ccs_disabler 1231 0 - Live 0xbf000000
更に
adb shell
_su
を実行して、root権限が取れているか確認。コマンドプロンプトが$から#になれば成功。ダメならどこかでこけているはずなので、1からやり直しましょう。 - suとSuperuser.apkの導入
Superuser-3.1.3-arm-signed.zipを解凍。内部のsuとSuperuser.apkをadb pushで端末へ送ります。それぞれのファイルと同じディレクトリで
adb push Superuser.apk /data/local/tmp/
adb push su /data/local/tmp/
以上です。
以下、adb shellで実行。
mount -o rw,remount /system
/data/local/tmp/busybox cp /data/local/tmp/busybox /system/xbin/
/data/local/tmp/busybox chmod +x /system/xbin/busybox
busybox cp /data/local/tmp/Superuser.apk /system/app/
busybox cp /data/local/tmp/su /system/xbin/
busybox chown 0:0 /system/xbin/su
busybox chmod 6755 /system/xbin/su
mount -o ro,remount /system
exit
exit
adb reboot
端末再起動後
adb shell
su
以上のコマンドでコマンドプロンプトが#になれば成功。
ログ貼ったつもりが.batファイルの中身を貼り付けているだけですね。。。