root取得なんですが・・・
まず、adb接続してみてびっくりですよ。
$ mount
mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
/dev/block/mtdblock7 /system yaffs2 rw 0 0
/dev/block/mtdblock10 /data yaffs2 rw,nosuid,nodev 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
/dev/block/mtdblock9 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock5 /hidden yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock1 /misc yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock8 /misc2 yaffs2 rw,nosuid,nodev 0 0
DxDrmServerIpc /data/DxDrm/fuse fuse.DxDrmServerIpc rw,nosuid,nodev,user_id=0,group_id=0,allow_other 0 0
$
/systemパーテーションがrwでマウントされてるし。
調べてみるとGoRoot.batというのがあって、それでrootがとれるらしい。
内容的にはすごく簡単なので、手動でやってみる。
c:\android>\android\platform-tools\adb shell
$ mkdir /data/work
$ exit
c:\android>\android\platform-tools\adb push su /data/work
1877 KB/s (34612 bytes in 0.018s)
c:\android>\android\platform-tools\adb push Superuser.apk /sdcard/
1506 KB/s (16967 bytes in 0.011s)
c:\android>
まず、必要なsuとSuperuser.apkを転送。
あと、cpが使えなかったり/sdcard/だとsuに権限が与えられないので、/data/workに作業用ディレクトリを作成した。
で、次の手順。
c:\android>\android\platform-tools\adb shell
$ cd /data/work
$ ls -l
-rw-rw-rw- shell shell 34612 2011-12-15 22:50 su
$ chmod 4755 su
$ ls -l
-rwsr-xr-x shell shell 34612 2011-12-15 22:50 su
$
/data/workにコピーしたsuに対して、権限を与えてあげます。
$ ./su -
./su -
Permission denied
here1here2here3$
$
あれ?駄目?
あ、/dataはnosuid,nodevでマウントしてるからか、と/sqlite_stmt_journalsにコピーしなおしても、同じ結果に・・・
Rstream A1でこの手法はうまくいかないようです。
— 2011/12/19 追記 —
なぜCommtiva z71派生モデルで一般的なGoRoot.batがうまくいかなかったかを調べたところ、Rstream A1以外の大半のCommtiva z71派生モデルでは、adb接続時はrootユーザで入れてしまうらしい。
Rstream A1では、一般ユーザで入るように設定されてしまっているので、同じ手法が使えない、ということだったようだ。
なお、MUCHTEL A1のAndroid 2.2を書き込むと、rootユーザが簡単に取得できるようになるが、日本語設定がないので設定画面とかが英語になる、というのと、R-stream A1のIP電話アプリが消える、という問題がある。