未熟者

みじゅくもの と読んでください

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 JDK7Android SDKの準備については過去記事を参考にしてください。

  1. ダウンロード 
    VpnFaker v21
    L-01D_V20c_root.zip
    Superuser-3.1.3-arm-signed.zip

    上記のファイルをダウンロード、解凍して出てきた.batファイルをテキストエディタで覗いてそれに従ってコマンド打ち込むだけです以下の説明は蛇足というか他人の褌でなんとやらです。
  2. 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
  3. 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からやり直しましょう。
  4. 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ファイルの中身を貼り付けているだけですね。。。