Top > Is01 > Rooting

root取得

リブートすると無効になるみたいだが、とりあえず取り方:

まず、rageagainstthecage-arm5.binを取ってきておく。

231 : 219: 2010/11/18(木) 02:55:01 ID:9DJqjKiK
おぉ。すげえ簡単だw
1. TerminalEmulator上でrageagainstthecage-arm5.bin実行。
2. ***.forked って言われたら再実行。
3. cannot forkって言われるからexit→[戻る]でTerminalEmulator終了。
4. TerminalEmulator再起動。
5. プロンプトが#に。

補足

  • rageagainstthecage-arm5.binに実行パーミッションを与えるには、
     adb push rageagainstthecage-arm5.bin /data/tmp/
     adb shell chmod 755 /data/tmp/rageagainstthecage-arm5.bin

自前のsystemを構築

IS01にはrootを取っても/systemをいじれない(残サイズ0バイト。ファイル作成系の操作はOut of memoryで失敗する)という壁がある。

そこで自前の/systemを構築する方法:

350 : 219: 2010/11/20(土) 00:45:35 ID:7/Y4a+pW
1) /dataとかに作ったファイルをループバックマウントした上に自前で/system構築。
2) 元々の/systemをlazyアンマウントして 1)とすげ替える。
って手法で一応/system弄りまわせる環境は作れるね。ただしリブートするまで有効w

補足

  • 最後に/systemを一旦アンマウントするのでbusyboxは必須。busyboxは例えばxdaのfreenexus.zipに入っている(追記: rootをとった後ならAndroid Marketにあるbusyboxも使える)。busyboxは/data/ext/binに置いたとして、面倒なのでPATHを通しておく。busyboxの実行ビットを立てるのを忘れないように。
     mkdir /data/ext
     mkdir /data/ext/bin
     PATH=$PATH:/data/ext/bin
  • /dataとかに作ったファイルをループバックマウント: これはtototoshiの日記より。
     cd /data/ext
     dd if=/dev/zero of=./system.img bs= count=512
     mke2fs -j system.img
     mkdir mnt
     mount -o loop -t ext3 system.img ./mnt
  • 自前で/system構築。
     (cd /system; busybox tar -cf - --exclude ./logphy_mapping.bin .) >t1
     (cd ./mnt; busybox tar -xf -) <t1
     rm t1
     rm ./mnt/*.pad
     busybox umount -d ./mnt
  • ループバックマウントがうまくいかない場合は
     mknod /dev/loop0 b 7 0
     mknod /dev/loop1 b 7 1
    のあとに再試行のこと。
  • 元々の/systemをlazyアンマウントして 1)とすげ替える
     busybox mount -o rw,remount /
     busybox mkdir /system2
     mount -o loop -t ext3 system.img /system2
     busybox umount -l /system
     busybox mv /system /system.org
     busybox ln -s /data/ext/mnt /system
    /systemをアンマウントするとシステムが不安定になるので、この部分はスクリプトにしておいて一気に実行するのが吉。
  • あとで/systemをアンマウントするときは
     busybox umount -d /data/ext/mnt
    「-d」 を忘れずに。

(2010-11-20)

Tag: au Sharp IS01 root Android