事の始まり
流れ※文鎮になっても恨みっこなしTake your own risk、自己責任でよろしく!
rootゲットだぜ!
- 方法は2種類ある
- BootLoaderをアンロックして無制限にいつでもrootになれるようにする。これやっちゃうとマジなんでもできるらしい。
- アンロックはせずにちょっとRootを取ってそこからいつでもrootを取れるようにする。
- 今回はこれ
- 参考:http://forum.xda-developers.com/showthread.php?t=959672
- ちなみにNexus One 2.2.1 FRG83D が対象バージョンです。はい。
- 2の方法
用意するもの:※Ubuntu10.10前提です
- JDK(うちはOpenJDKです。)
- SDKを動かすのに必要。
- AndoridSDK r08ぐらい
- SuperOneClick
- Windows用の脱獄ツールだがUbuntuでも起動だけはする。
- http://forum.xda-developers.com/showthread.php?t=803682
- 上で入手可能:これは後ほど必要なツールを含むので
- apt-get install mono
- sudo mono SuperOneClick.exe
- これが起動してないとadbの古いバージョンではつながらない。
- このツール自身v1.7では先へ行けない。
- UbuntuのARM向けイメージ+Andoridで動くものを取得
- http://www.filefactory.com/file/b512d23/n/ubuntu.zip
- ここからダウンロード、設定と起動スクリプトも含まれている。バージョンは9.10
- 他にもHTC HD2向けのUbuntu10.10のイメージも適用可能で存在するようだが入手できなかった。
- 11.04が出てから2ヶ月ぐらい耳をすましていれば11.04版が入手できるかも。
- http://www.filefactory.com/file/b512d23/n/ubuntu.zip
- busyboxさん入手
実際の作業
- 参考サイト(英語):
- まずはrootを取得
-
- SuperOneClickと一緒に入ってるpsneuterをadbのディレクトリにコピーする。
- suはsuperuserというアプリでもはいるが、ここのを使用した。http://forum.xda-developers.com/showthread.php?t=959672
- して以下のコマンドを流す。/data配下は自由に実行権権を一般ユーザが付けられる。
- SuperOneClickと一緒に入ってるpsneuterをadbのディレクトリにコピーする。
./adb push psneuter /data/local/tmp/psneuter
./adb push busybox /data/local/tmp/busybox
./adb push su /data/local/tmp/su
./adb shell chmod 755 /data/local/tmp/psneuter
./adb shell chmod 755 /data/local/tmp/busybox
./adb shell chmod 755 /data/local/tmp/su
./adb shell
-
-
- これで$だとまだ一般ユーザ以下確認
-
$ cd /data/local/tmp
$ ls
busybox
su
psneuter
-
-
- psneuterで一時的にrootユーザを奪取。再起動すると失われる。
-
$ ./psneuter
property service neutered.
killing adbd. (should restart in a second or two)
-
-
- 接続が切れるので再度adbで接続。#になっていれば成功
-
./adb shell
-
-
- #と表示されてもrootになっていない可能性があるので以下の表示になっていれば本当に成功
-
# id
uid=0(root) gid=0(root)
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# cd /data/local/tmp
# ./busybox cp busybox /system/bin
# chmod 4755 /system/bin/busybox
# ./busybox --install -s /system/bin
# cp su /system/bin
# chmod 4755 /system/bin/su
# exit
-
-
- 再度、接続してsuコマンドが動くか確認して終了(#なだけではrootになっていないので注意)
-
# su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# exit
# exit
bootubuntu
ubuntuの設定
まあここから先はUbuntuの中のおはなし。
一度、Andoroidごと再起動しないとネットワークは認識されないので注意。
# export USER=root
# vncserver :1
# vncserver -kill :1
# vim /root/.vnc/xstartup
-
-
- でvncserverの設定は以下の様にする。
-
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession
-
- で、rootでログインする時点でvncserverが立ち上がっていると嬉しいので/root/.bashrcという起動スクリプトファイルに以下を先頭に追記
# vim /root/.bashrc
-
-
- わかんない人はもちろんviの使い方をググッてください。-geometry 1024×800は解像度指定なので自分の好みで調整。NexusOneは800x480
-
export USER=root
cd /
rm -r -f tmp
mkdir tmp
cd /
vncserver -geometry 1024×800
- で、このubuntuの状態は?
以上でおしまい。