いやぁ~長かった。ようやく、Armadillo-500でAndroidが動作しました。
苦労した点としては、Androidがどうこういうより、Armadillo-500の使いこなしが難しいですね。(^^; アットマークテクノさんが配布しているマニュアルを数日間、読み漁りましたよ。
Armadillo-500でAndroidを動作させるための詳細な方法は後日まとめるとして、今日はポイントだけ。
<必要なもの>
■アットマークテクノさんがArmadillo-500用に配布している開発環境一式。
- クロスコンパイル環境(ATDE)
http://armadillo.atmark-techno.com/files/downloads/atde/atde2-20071018.zip - Linuxディストリビューション(Atmark-dist)
http://armadillo.atmark-techno.com/files/downloads/armadillo-500/source/dist/atmark-dist-20080617.tar.gz - Linuxカーネルソース(linux-2.6.18-at3)
http://armadillo.atmark-techno.com/files/downloads/armadillo-500/source/kernel/linux-2.6.18-at8.tar.gz
■ブリリアントサービスさんが配布しているAndroid実行環境一式
- 2.6.18へのAndroidパッチ修正
- linux-2.6.18-at3へのAndroidパッチ修正版
- ATDE上でAtmark-distに展開したLinuxカーネルをコンパイルする際、EABIを手動で有効にしてコンパイルする点が重要。(デフォルトではOABIでコンパイルされるし、ARM版のDebian etchもOABI。)
- linux-2.6.18-at3へのAndroidパッチ修正版
- Androidユーザーランドイメージ(buidroot構築環境入り)
基本的には、ブリリアントサービスさんが配布されているキットでうまくいくのですが、はまりやすいポイントがあるのでそこだけ注意ですかね。
(1)AndroidのカーネルはEABIで動作する。
(ARM版Debian etchやATDE&Atmark-distのデフォルトではOABIなので互換性がない)
(2)ブリリアントサービスさんが配布しているAndroidユーザランドイメージの/etc/init.rcにはtypoがあるので修正する。
これだけ気をつければ、きちんと動作すると思います。
ちなみに、ARM9ベースのkuro-box/pro, 通称、玄箱Proの知識がかなり役に立つと思います。苦労するというか、はまる点は同じようです。
P.S
すいません。何度も何度もブリリアントサービスさんのブログにトラックバックを送ってしまいました。