いよいよ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 コメント:
コメントを投稿