※大筋はアットマークテクノさんの「Armadillo-500 FXでAndroidを使ってみる」をご参照ください。
http://armadillo.atmark-techno.com/howto/try-android-on-armadillo
FXでAndroidが動くLinuxをコンパイルする方法です。ポイントは、
EABI, PowerManager(PM), Share Memory, Low Memory Killer, Binder IPC, Android PM、、、
等をの組み込むための設定が必要となります。毎回手作業で設定するのが面倒なので、アットマークさんのサイトから落としたパッチに、PMやら、EABI等が組み込まれるようにしました。
※081210patchでは全部自動でいけました♪
1.AtmarkTechnoのサイトでLinux&AtmarkDistソースの入手
http://armadillo.atmark-techno.com/files/downloads/armadillo-500-fx/sour...
http://armadillo.atmark-techno.com/files/downloads/armadillo-500-fx/sour...
2.パッチの入手
http://open-mobile.jp/files/linux-2.6.26-at-android-sam-20081204.patch
アットマークテクノさんのサイトで、音がでるKernelパッチが上がってましたので、こっちを使ってください。以後、本記事内容のURLも置き換えで、、、
http://armadillo.atmark-techno.com/files/downloads/misc/android/linux-2....
3.パッチ当て
# cp linux-2.6.26-at-android-sam-20081204.patch linux-2.6.26-at1
# cd linux-2.6.26-at1
# patch -p1 < linux-2.6.26-at-android-sam-20081204.patch
4.DEFCONFIGの指定を変える
#vi vendors/AtmarkTechno/Armadillo-500-FX.dev/tools/config-linux.conf
DEFCONFIG_2_6=arch/arm/configs/armadillo500fx_dev_defconfig
↓
DEFCONFIG_2_6=arch/arm/configs/armadillo500fx_dev_android_defconfig
に修正、保存
5.make config
Vender → AtmarkTechno
Target → Armadillo-500-FX.dev
Closs-dev → default(Enter)
Libc Ver → None(Enter)
Default All.→ y
あとは全てEnterで、設定完了するはず。
6.make、転送〜〜♪
※PowerManagerを有効にしないと、Androidは起動できるけど、変な挙動になってました。ここが一番はまりました(汗)
userlandについて補足です
はじめまして。
W-SIMを動かすためにrebuildしていたのですが、W-SIMどころかandroidが起動せずに難儀しておりました。
patchやビルド手順の情報は非常に助かりました。
改めて御礼申し上げます。
私のようなAtmarkDistの全貌を理解していない方向けの補足です。
上記の手順でlinux.bin.gz(kernel)、romfs.img.gz(userland)がビルドできますが、このままですとArmadillo-500 FXのデモプログラム(a500fx-demo)が起動してしまいます。
make menuconfig中のuserland設定で、
Miscellaneous Applications -> a500fx-demo
のチェックを外すとデモプログラムがuserlandに含まれなくなります。
これでandroidが表に出てくるはずです。
--
Yoichi as uni
補足、Part2
uniさん
コメント感謝です。ついでにFXでAndroidを使う場合の現時点での補足(テンポラリー情報)を記載します。
仰る通り、Androidを動かす際にはUserland内のFX-DEMOは不要ですね。FX-DEMOはXwindowのサンプルアプリなので、Xもいらなくなります。一緒に削除してしまいましょう。
Userlandで追加すべきポイントとしては、現時点ではW-SIMを利用してダイアルアップをする場合、PPPDを入れてあげる必要ありです。PPPDはAndroidのConectivityManager経由でのコールはできてませんし、Android上のPPPDもまだ動かせてませんので、AndroidのInit前、/etc/config/rc.local あたりにスクリプトでPPPDを書いてあげると、とりあえずはデータ通信が可能ですが、あくまで暫定処置でしょうか。。。
AndroidのPPPDの解析、誰かやってくれないかなぁ←ぼそ
ではでは