Android Dev Phone 1のLinuxコンソールで遊んでみた
adb shell を知ったので、軽く遊んでみました。やたら長い実況形式のエントリはこちら 2008-12-19 - Android Dev Phone1 であそぶメモ - android-dev で、あまりに長いので、まとめました。
$ adb shell 便利
Dev Phone 1 のハードウエア
- CPU: 384MHz ? ARMv6-compatible processor Features: swp half thumb fastmult edsp java
- iPhoneは412MHzなのでちょっと遅い。型番的にも下位モデルっぽい。
- OSが認識したメモリ: 101MB
- iPhoneよりすくないかも
- 内蔵Flashの空容量 以下のようになかなかカツカツ
$ df -h Filesystem Size Used Available Use% Mounted on /dev/block/mtdblock3 67.5M 50.1M 17.4M 74% /system /dev/block/mtdblock5 74.8M 57.6M 17.1M 77% /data /dev/block/mtdblock4 67.5M 1.3M 66.2M 2% /cache
GCCでCのコードをcross complieして、そのまま実機のLinux上で動かせる
- Debian (Lenny)で Embedded Debianを使い、static link にした実行形式(ELF)を実機に転送すれば、そのまま動く
- busybox, Ruby1.8が動いた。
- framebufferへのアクセス方法は(僕が)まだ分ってないので、画面に直接出力とかはまだできてない
- configureでは --target=arm-linux --host=arm-linux とかやる
- configure: error: cannot check setpgrp when cross compiling とか出た場合は環境変数で ac_cv_func_setpgrp_void=yes とかやる
その他
- suはパスワード無しでできる
- chown コマンドない
- ls -la とかできない。ls -l
- SD card (/sdcard) 上ではどうやっても chmod +x できない。おそらくFSが +xサポートしてないため?
- そのため、実行形式のファイルは、他のディレクトリに置く必要がある。とりあえず /data とかに置いた。
- adb pushした時のファイルの所有ユーザーはshellになる
- uname -a : Linux localhost 2.6.25-01843-gfea26b0 #6 PREEMPT Mon Oct 6 14:13:36 PDT 2008 armv6l unknown
ちなみに android-dev.g という、Android開発者向け(もちろん普通のAndroid Marketアプリの方も含め)はてなグループ作ったので、ご興味のある方是非ご加入くださいませ。