※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

root化について

root化については例えば以下のようなメリットデメリットがあります。そのあたりをしっかり理解した上でroot化するかしないかを判断して下さい。
メリット
  • 要rootのアプリが導入できる
  • プリインストールアプリを削除、または凍結できる
デメリット
  • 何らかの原因で正常に起動しなくなったり、最悪の場合はreal文鎮化する可能性があります
  • 正常に起動しなくなった端末を修理に出そうとしても、root化の痕跡があると修理不可となる可能性が大きいです
  • そのため、問題発生時には自力で対処できるスキルが無いと、実質使えない端末となってしまいます

root化手順(ICS)


スレの情報をまとめてみました。

まずは、VpnFaker v21をダウンロードする。
ttp://bit.ly/QwlS11

この処理で、
  • SDCARDがアンマウントされる
  • /data/system/packages.xmlのバックアップが取得される。
  • 今後使う様々なファイルが/data/local/tmpにコピーされる。

行う前に再起動しておくとよい。
特に関係ないと思うが、restoreアプリが中途半端に残ると「データを復元する」ボタンが押せない。
またHOMEアプリを純正のHOMEにしておいたり、ロックを外しておいた方が色々楽。
/data/の中身は消えないが、失敗すると確実に消えるので、
バックアップは何かしらの方法で取っておく。

まず、do-install.batを実行する。
起動するとターミナルにRestoreツールが起動する。
右下に「データを復元する」というボタンがでるので、それをタップする。
暫く待つと勝手に復元が完了し、Restoreツールが終了するので、それまでまつ。
この処理で、/dataパーティションが777になっているはず。

そのままadb側をみてエンターを押すと、再びリストアツールが立ち上がる。
同じように右下の「データを復元する」ボタンをタップしリストアする。
この処理で、VpnFakerをしこむ準備がされる。
具体的には/data/system/packages.xmlが書き換えられている。

最後にadb側をみてキーを押すと、デバイスが再起動する。
成功すると再起動時に、
Androidを再構成中というかインストール中とかというダイアログが出る。
失敗すると何事も無かったように起動する。

実はここが山場で何回かやらないと成功できない。
成功できないときはシャットダウン時に/data/system/packages.xmlが
なにものかに戻されているためなので、上手くいかなければ何回か試すしかない。

VpnFakerの仕込みに成功すると、下記のコマンドで本体に青いターミナルが出る。
adb shell am start -n com.android.vpndialogs/.Term
このターミナルでidコマンドを実行するとsystem権限になっている。
(まぁ、なっていたところで、この手順では使わない)

パッチのダウンロードをする。
ttp://bit.ly/Tl7MUq

L-01D_V20c_root.zipをダウンロードし、mknod-system.batを実行する。
/dev/block/systemという名前のsystemパーティションのデバイスノードのクローンが作られ、
そこからsystemパーティションの読み書きができるようになる。
このプログラムを実行すると一端data領域にsystem.imgを作成、
adbを実行したターミナルに、system.imgが取得されるので時間が掛かる。
これでバックアップが取られるので、大切に保存しておくこと。

L-01Dを再起動しても問題ない状態にし、patch-system.batの以下の3行を削除して有効化する
exit /b
exit
@rem files\adb reboot
有効化したらそれを実行する。
これを実行するとL01Dが再起動。ここでdocomoロゴがでて再起動するので、
adb wait-for-device
でターミナルが返ってくるのを(念のため)確認して、
この後のコマンドでsystemパーティションを強制的に書き換え。
(失敗したら壊れます)

adb shell /data/local/tmp/modify.sh

終わったら
adb reboot

devsh周りのをダウンロード
ttp://ow.ly/eDe7r

L-01Dにmkdevshとonload.shを転送
adb push mkdevsh /data/local/tmp/
adb push onload.sh /data/local/tmp/

L-01Dにターミナルを表示する。
adb shell am start -n com.android.vpndialogs/.Term

id
とやるとsystem権限であることを確認し、
/data/local/tmp/onload.sh
を実行。chmodのPermission Deniedが出るが気にしない。

次に、adbを操作するパソコン側から、シェルにログイン
adb shell

devshを実行
/dev/sh
tmpに上がっているはずのsuにsetuidする。これらではエラーはでないはず。
chown 0:0 /data/local/tmp/su
chmod 6755 /data/local/tmp/su
/data/local/tmp/su
この状態で、
id
をみるとroot権限になってるはず。

以後は好きにできる。
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/su /system/xbin/
busybox chown 0:0 /system/xbin/su
busybox chmod 6755 /system/xbin/su
mount -o ro,remount /system

exit

さいごに
adb reboot

また、こちらのブログにもわかりやすくまとめられております
ttp://hogehoga.blogspot.jp/2012/10/docomo-optimus-lte-ics-404-root.html
こちらの方法でもpatch-system.batは同様に修正し、実行後の再起動中に以下の手順を行なってください

adb wait-for-device
でターミナルが返ってくるのを(念のため)確認して、
この後のコマンドでsystemパーティションを強制的に書き換え。
(失敗したら壊れます)

adb shell /data/local/tmp/modify.sh

終わったら
adb reboot

root化手順(v10b)

2012/1/5めでたくroot化成功しました。

スレの情報をまとめてみました。

★PCから端末に接続する
ドライバインストール
http://www.lg.com/jp/mobile-phones/download-page/L-01D/product-info-driver.jsp
adbを使う準備
googleで、adb shell 使う などのキーワードで出てくるサイトを参考にandroid sdkをインストールし、pathの設定をする
端末の設定
設定 > アプリケーション > 開発 > USBデバッグにチェックを入れる
端末を接続する
USB接続モードは、PC同期を選択する

★root化
suとbusyboxのダウンロード
以下のサイトからSUBBZR.zipをダウンロードし、中のsuとbusyboxをadb.exeと同じ場所に置く
http://forum.xda-developers.com/showthread.php?t=1407076
suとbusyboxのインストール
コマンドプロンプトから、以下のコマンドでadbを実行して、その後のコマンドを実行していく
adb shell
mv /data/misc/wifi/config /data/misc/wifi/config_
ln -s /data/local.prop /data/misc/wifi/config
(端末でwifi on offと切り替える)
mv /data/misc/wifi/config_ /data/misc/wifi/config
echo ro.kernel.qemu=1 > /data/local.prop
(端末を再起動する)
(コマンドプロンプトを新しく開き、以下のadbコマンドを実行していく)
adb shell mkdir /data/local/bin
adb push busybox /data/local/bin/busybox
adb push su /data/local/bin/su

install-recovery.sh書き込み
コマンドプロンプトを新しく開き、以下のコマンドを実行していく
adb shell
(プロンプトが#になっていることを確認)
chmod 755 /data/local/bin/busybox
chmod 755 /data/local/bin/su
/data/local/bin/busybox mount -o remount,rw -t ext4 /dev/block/mmcblk0p27 /system

echo '#!/system/bin/sh' > /system/etc/install-recovery.sh
echo 'sleep 5' >> /system/etc/install-recovery.sh
echo '/data/local/bin/busybox mount -o rw,remount /dev/block/mmcblk0p27 /system' >> /system/etc/install-recovery.sh
echo '/data/local/bin/busybox cp /data/local/bin/busybox /system/xbin/busybox' >> /system/etc/install-recovery.sh
echo '/data/local/bin/busybox cp /data/local/bin/su /system/xbin/su' >> /system/etc/install-recovery.sh
echo 'chown root.shell /system/xbin/su' >> /system/etc/install-recovery.sh
echo 'chmod 4755 /system/xbin/su' >> /system/etc/install-recovery.sh
echo 'chown root.shell /system/xbin/busybox' >> /system/etc/install-recovery.sh
echo 'chmod 755 /system/xbin/busybox' >> /system/etc/install-recovery.sh
echo 'busybox mount -o ro,remount /dev/block/mmcblk0p27 /system' >> /system/etc/install-recovery.sh
chmod 755 /system/etc/install-recovery.sh
mv /system/bin/seccmmond /system/bin/seccmmond_
/data/local/bin/busybox mount -o remount,ro -t ext4 /dev/block/mmcblk0p27 /system
/system/etc/install-recovery.sh
(上記コマンド実行後に/system/xbin/にsuとbusyboxがコピーされていることを確認)
echo > /data/local.prop
(端末再起動)
(端末上でアンドロイドマーケットからsuperuser.apkをインストールする)

バッチ(v10b)

houchi.netにて上記手順をバッチに纏めてくれています。

まずはバックアップを取得

不測の事態に備えて、バックアップを取り、復旧の手順を理解しておきましょう。
詳細は、復旧を参照下さい。

root化後の問題(v10b,v10c)

/systemをremountしようとすると、端末がリブートしてしまいます。
対応の一つとして、/system/bin/mountをbusyboxで差し替える方法があります。
(ln -sではリブートしてしまったり、sim認識しなくなるなど問題が発生するようです)
コマンド例
adb shell
su
/data/local/bin/busybox mount -o remount,rw /system
cd /system/bin
mv mount mount_
/data/local/bin/busybox cp /data/local/bin/busybox /system/bin/mount
ls -l mount*
/data/local/bin/busybox mount -o remount,ro /system
exit

(RootExplorerと、Titanium Backupのシステムアプリのアンインストール以外は問題無く動きます)

unroot化(v10b,v10c)


/system 以下に加えている変更が↑の内容だけであれば、
/system/etc/install-recovery.sh を削除し、
mv /system/bin/seccmmond_ /system/bin/seccmmond して戻せば OK と思われます。
(/system/xbin/su,busybox は勝手に消される)
つまり
adb shell
$su
#/system/xbin/busybox mount -o rw,remount /system
#rm
/system/etc/install-recovery.sh
#mv
/system/bin/seccmmond_ /system/bin/seccmmond