X

Beagle Board xMでAndroidを動かす(ビルド済イメージ編)

今回は評価ボードとして人気のあるBeagleBoard xMに、ビルド済イメージとして公開されているAndroid(Gingerbread)を動作させる手順をご紹介します。

市販のAndroid端末ではファームウェアの書き換えを行うのには失敗すると起動できなくなるなどのリスクが要しますが、BeagleBoard xMではそのようなリスクもありません。また、ソースコードからビルドしたAndroidも動作させることができますので、独自に追加したデバイスを動作させることも可能です。

詳細はつづきからどうぞ

BeagleBoard xMとは?

BeagleBoard xMはテキサス・インスツルメンツ社(以下TI)が開発しているシングルボードコンピュータ(マイコンボード)です。非常に低価格でありながら高性能なCPUと豊富な周辺機能を備えていたことから、前モデルであるBeagleBoard(無印)はホビーユーザを中心に大変話題となりました。

BeagleBoard xMはBeagleBoardの後継機としてCPUの性能向上とメモリ/周辺機器が強化されています。

BeagleBoard xMスペック
CPU ARM Cortex-A8 1.0GHz
メモリ 512MB DDR RAM
記憶領域 SD Card
イーサネット 100M Ethernet
ペリフェラル DVI, USB, I2C, GPIO, etc…
価格 $149

TI Android Pre-built Images

BeagleBoard開発元であるTIはBeagleBoard用のソフトウェア(OS・SDK)やドキュメントを自サイト上で公開していますが、AndroidについてもAndroid Development Kitという形で公開しています。Android Development KitにはAndroidをBeagleBoard上にチューニングされたソースコードが含まれており、「Androidのソースコードをビルドする」で紹介した記事と同様の手順でビルドすることが可能です。(Android Development Kitのソースコードをビルドする手順については後日紹介します。)

また、Android Development Kitにはソースコードのほか、既にビルドされたAndroidのバイナリイメージが含まれています。バイナリイメージだけではなく、インストール用のシェルスクリプトも用意されているので、SDカードさえ用意すれば、すぐにBeagleBoardでAndroidを動作させることができます。

バイナリイメージの入手

バイナリイメージは「Android Development Kit for Sitara Devices」のページより入手することができます。2011/06/11現在、FroyoとGingerbreadを使用することができます。今回はGingerbreadを使用します。以下のようにしてダウンロードしてください。

# wget http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/02_00_00/exports/beagleboard-xm.tar.gz

ファイル構成

ダウンロードした圧縮ファイルにはカーネルやファイルシステム、サンプルのメディアファイルがディレクトリが含まれています。

# ls
Boot_Images Filesystem Media_Clips README.txt mkmmc-android.sh

SDカードの作成

SDカードをセットしてmkmmc-android.shというスクリプトファイルを実行すると、
SDカードのパーティション生成からフォーマット、ファイルのコピーまで自動でしてくれます。

ただし、このスクリプトファイルは英語環境での実行を想定しているので、
日本語環境のLinux上で実行するとパーティション生成でエラーとなります。
まずはスクリプトファイルを実行する前に以下のようにして言語設定を変えておきましょう。

# export LANG=C

言語設定を変更したらスクリプトファイルを実行します。

# sudo ./mkmmc-android.sh /dev/sdb
Assuming Default Locations for Prebuilt Images
All data on /dev/sdb now will be destroyed! Continue? [y/n]
y
[Unmounting all existing partitions on the device ]
umount: /dev/sdb: not mounted
[Partitioning /dev/sdb...]
Disk /dev/sdb doesn't contain a valid partition table
DISK SIZE - 15931539456 bytes
CYLINDERS - 1936
[Making filesystems...]
[Copying files...]
[Copying all clips to data partition]
[Done]

起動

完成したSDカードをBeagleBoard xMにセットして電源を入れます。しばらく待つとAndroidが起動します。
BeagleBoard xMにはタッチパネルなどの入力デバイスはありませんので、お持ちのUSBマウスや
USBキーボードを接続してください。

kseto: