組み込みAndroid

開発奮闘記

5.BeagleBoardでAndroidを起動させる

さて、いよいよAndroidを起動させるところまできました。

今回もSDカードからの起動を目指します。
用意するSDカードは4項を参考にパーテーションなどを構成してください。

今回も"MLO","u-boot.bin","uImage","RFS(ルートファイルシステム)"を用意しなければなりません。
必要なファイルをhttp://www.embinux.com/download_beagle.phpよりダウンロードする。
※ダウンロードの際にメールアドレスの登録が必要

ダウンロードしたファイル(ANDROID.tar.bz2)をLinux環境に移動し以下のコマンドを使用し展開する
$ tar xjvf ANDROID.tar.bz2

展開されたファイルが以下の構成になっていることを確認する。
ファイル構成 ANDROID--- RFS
                |
                -- UIMAGE--- MLO
                |        |
                |        -- u-boot.bin
                |        |
                |        -- uImage
                |
                -- README

SDカードに転送する
4項同様に第1パーテーションに"MLO","uImage"を転送する。
今回は"u-boot.bin"も転送する。
・転送手順
$ sudo mount /dev/sdb1 /mnt //←第1パーテーションをマウントする
$ cd <展開されたディレクトリ>/UIMAGE //←ディレクトリを変更
$ sudo cp MLO /mnt/ //←MLOを転送する
$ sudo cp u-boot.bin /mnt/ //←u-boot.binを転送する
$ sudo cp uImage /mnt/ //←uImageを転送する
$ sudo umount /mnt //←第1パーテーションをアンマウントする

次に"ルートファイルシステム(RFS)"を転送する。
・転送手順
$ sudo mount /dev/sdb2 /mnt //←第2パーテーションをマウントする
$ cd <展開されたディレクトリ>/RFS //←ディレクトリを変更
$ sudo cp -a * /mnt //←ルートファイルシステム(RFS)を転送
$ sudo umount /mnt //←第2パーテーションをアンマウントする

ここまで終わってやっと起動確認です。
BeagleBoardにSDカードを挿入してボードの電源ONしてください。
起動する際に、RS232Cで接続されているPCの通信ソフトを起動しておくとログが出てきます。
途中でカウントダウンがありますが、それが0になる前に"enter"キーを押下して以下のコマンドを送信してください。
# setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000'
# setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 init=/init rw rootdelay=1 nohz=off mem=122m
# saveenv
# boot

これで起動すると思います。