2008年2月29日金曜日

Androidの起動



いよいよAndroidを起動させます。

・・・といきたいところですが、前回のユーザーランドの構築部分では

デバイスファイルの準備が不十分です。

Androidのキー入力は/dev/input/event0~を監視していますが、

Armadillo-500標準のnorのユーザーランドには/dev/event0~に入力デバイスが割り当てられています。

以下のように事前にNANDにデバイスノードを作成しておく必要があります。


mount /dev/mtdblock7 /mnt
mknod /mnt/dev/input/event0 c 13 64
mknod /mnt/dev/input/event1 c 13 65
mknod /mnt/dev/input/event2 c 13 66


※USBキーボードの場合、マイナー番号の割り当ては66のようです。

また、フレームバッファは/dev/graphics/fb0をオープンしにくるのでこれも作っておく必要があります。

mknod /mnt/dev/graphics/fb0 c 29 0


以下のようにして標準のユーザーランドにある他のデバイスノードもコピーしておいたほうがいいでしょう。

(cd /dev; tar cf - *) | (cd /mnt/dev; tar xf -)
sync


ここまで準備できたら、NANDに構築したユーザーランドをrootfsに設定して、いよいよAndoridの起動です。

Armadillo-500のジャンパーピンを保守モードにして、電源をいれます。

hermitのコンソールで

setenv root=/dev/mtdblock7 noinitrd init=/init console=ttymxc0


とすることで、NANDをrootfsにし、ルートにあるinitを実行するようになります。

ブートさせましょう。

init: HOW ARE YOU GENTLEMEN

の表示が出ればAndroidは起動しています。

一瞬止まったかのように見えますが、Binderのログが出てしばらくすると、赤い玉が左右に揺れるはずです。

うまくいっていれば赤い玉が出てからほどなくしてエミュレーターで見慣れた待ち受け画面が出るでしょう。




記載されている会社名、および商品名等は、各社の商標または登録商標です。

0 コメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...