wifiでつかえるので、EM OneにWMWifiRouterとかいれておけばそれ経由でどこでも使えるか?と思ったら、現状ではAndroidがAd-hoc使えないみたいでだめげ。PHS300を買うべきなのか?
SDKをダウンロード&インストール。Eclispseに関しては後回し。VAIO Type Zは x86_64 (amd64)なので、Installation Notesに書いてあるとおり
ia32-libs
などをいれておく必要がある。android-sdk-linux_x86-1.0_r2/tools
にPATHを通したりするsetup scriptを書いた。とりあえずshellだろうと思い、
adb shell
してみるが動かない。adb devices
でdeviceがみつかってない。Developing on Device hardwareに書いてあるようにudev ruleを置いてみるがだめっぽい。いろいろ試した結果、50-android.rules
ではなく、z60_android.rules
のようにz60でやらないといけないようだ。これで次のように見えるようになった。
% adb devices * daemon not running. starting it now * * daemon started successfully * List of devices attached HTnnnNnnnnnn device % adb shell $
adb push
やadb pull
でおくりこんだり、とりだしたりできる。/system/bin/sh
はとりあえずつかえるけど、微妙にたりないかんじなのでbusyboxをいれた。armelのbusybox-staticパッケージをつかうのが楽。microsdは/sdcard
にmountされているけど、ここはVFATでnodev,noexec,fmask=0711
などでmountされているので、ここに置いてもbinaryは実行できない。とりあえず/data/bin
あたりをつくってそこにおくりこむ。
$ mkdir /data/bin $ exit % dpkg -x busybox-static_1.10.2-2_armel.deb . % adb push bin/busybox /data/bin/busybox % adb shell $ cd /data/bin $ ln -s busybox lsあとは必要なコマンド名でsymlinkをはっていけばよい。busyboxが提供しているコマンドはbusyboxを実行してみればわかる。で、そこにPATHをとおせばOK。
Android MarketにTerminal Emulatorってのがあるので、それをインストールしておけば実機上でもshellにさわれる。
せっかくなのでDebianをいれてみる。課題としてはmicrosdはFAT(symlink、hardlinkできないのでdebian chrootにできない)、defaultのkernelがsupportしているfsはFATとYAFFS(YAFFSは amd64とかには標準ではなさげ)。
とはいっても基本はLinuxなので、
ext2.ko
あたりを作ってinsmod
してやればよい。microsdもpartitionをきってFAT partitionとext2 partitionをつくってやればOK。VAIO Type ZのSD slotにいれてDebian上でcfdisk /dev/mmcblk0
とかしてpartitionをきればよい。udevがdeviceファイルをつくるようにいったんぬいて挿しなおし、mkfs
で/dev/mmcblk0p2
をformat。Android上では最初のprimary partition(Androidで/dev/block/mmcblk0p1
、VAIO Type Z Debianでは/dev/mmcblk0p1
)が/sdcardに自動的にmountされる。2つめのpartitionを手でmountしてやればよい。Debianのchroot環境は
debootstrap
でつくる。まずDebian上でfirst stage。
# mount -t ext2 /dev/mmcblk0p2 /mnt # cd /mnt # debootstrap --arch armel --foreign --variant=minbase \ sid . http://ftp.jp.debian.org/debian/これをAndroidにさして続きを。
$ su # insmod ext2.ko # mount -t ext2 /dev/block/mmcblk0p2 /data/sdcard1 # cd /data/sdcard1 # mv dev dev.orig # mkdir dev # mount --bind /dev dev # chroot . bin/bash # PATH=/usr/bin:/bin:/usr/sbin:/sbin:$PATH # mount -t proc proc /proc # ./debootstrap/debootstrap --second-stage ... #こんなかんじでだいたいOK。
/etc/apt/sources.list
を設定すればapt-get
もつかえる。
No comments:
Post a Comment