SSブログ

BeagleBoard-xM RevCにGingerbreadをのせる [Android開発]

BeagleBoard-xM RevCを会社で購入しました。これにAndroid2.3こと、Gingerbreadを入れて動かそうと挑戦したのですが、あれこれ情報を探して挑戦しては失敗の繰り返しで疲れ果てたので、まとめてみました。ですが、やり方が分かるととてつもなく簡単です。

DSC_0090_thumb

こちらのサイトhttp://android.jpn.org/2011/05/beagleboard-xm-rev-c.html を絶賛参考にしました。

はじめに

ここでご紹介するやり方はとりあえず動けば良いレベルのやり方です。Androidのコンパイル等は一切行いません。実際はコンパイル等をして試してみたのですが、コンパイルには全て成功したにも関わらずどうしてもブートできませんでした。今後、情報がこなれてきたら再度挑戦したいと思います。

購入するもの

BeagleBoard-xM RevCは輸入するしかありません。代行業者等もあるので、そちらで購入するのが良いでしょう。検索するとヒットします。

DSC_0099_thumb

PCとつないでログなどを確認するために、RS232Cのケーブルが必要です。BeagleBoard本体にはメス端子なので、オス端子のあるケーブルが必要です。USB変換機だと便利です。

5VのACアダプター。もしくはminiUSBケーブル。どちらかないと電源入りません。

マイクロSDカード。8GBがあれば嬉しいところ。

SDカードリーダーライター。後で記述しますが、VM Ware上でUbuntuを動かすのですが、SDカードスロットが認識しない場合があるので、リーダーライターがあると助かります。

DSC_0100_thumb[1]

HDMIケーブル BeagleBoard-xMはHDMI出力なのでHDMIケーブルを買いましょう。DVI変換機でも構わないです。解像度の制約で変な表示になるときがあるので、DVI変換の方が良いかも知れません。

PLANEX HDMI-DVI変換ケーブル 2.0m PL-HDDV02

PLANEX HDMI-DVI変換ケーブル 2.0m PL-HDDV02

  • メーカー: プラネックス

DSC_0094_thumb

全部つなげるとこんな感じです。

環境構築

私が今回利用したPCはVAIO F (VPCF1) Windows7 64bitです。

Ubuntu10の64ビット環境が必要です。但し今回はコンパイルをしないので32bitでも大丈夫です。また環境は仮想環境でも問題ありません。

私はVMWare Player上にUbuntu10をインストールしました。実はUbuntuは初めてだったり。

ubuntu_thumb

Windows上にはTera Termなどのターミナルエミュレーターをインストールします。このターミナルエミュレーターでBeagleBoardのログを見ます。

teraterm_thumb

SDカードの作成

以下Ubuntu上で作業をします。あと面倒なのでrootで作業をしています。

1.Texas InstrumentsのTI_Android_GingerBread_2_3_DevKit_1_0 ProductからPre-built ImagesのBeagleBoard xMをダウンロードします。

ダウンロードしたディレクトリは/home/root/downloadとします。

image_thumb[4]

2.ダウンロードしたbeagleboard-xm.tar.gzを解凍します。

$ tar zxvf beagleboard-xm.tar.gz

3.実は上のイメージでUSBが動作しないので、パッチをダウンロードします。
絶賛参考にした http://android.jpn.org/2011/05/beagleboard-xm-rev-c.html からダウンロードします。ダウンロードしたディレクトリは/home/root/downloadとします。

4.ダウンロードしたxMRevC_patched_img.tar.gz を解凍します。

$ tar zxvf xMRevC_patched_img.tar.gz


5.U-BootとLinux Kernelを差し替えます。

$ cd beagle-xm/Boot_Images
$ rm u-boot.bin uImage
$ cp /home/root/download/xMRevC_patched_img/u-boot.bin .
$ cp /home/root/download/xMRevC_patched_img/uImage .

6.起動用micro SDの作成

SDカードをセットしてmkmmc-android.shというスクリプトファイルを実行すると、
SDカードのパーティション生成からフォーマット、ファイルのコピーまで自動でしてくれます。これは神スクリプトです。
このスクリプトファイルは、日本語環境のUbuntuで実行するとパーティションを作るときにおかしくなるらしいので、言語設定を変えます。

$ export LANG=C

引数はSDカードのデバイスファイル。dfコマンドなどでSDカードの場所を確認しましょう。

$ cd ..
$ ./mkmmc-android.sh /dev/sdb1

しばらく待つと[Done]と表示されます。後は出来上がったSDカードをBeagleBoard-xMに刺してResetボタン押すと起動できます。

補足

PCとRS232Cで接続してTera Termなどのターミナルエミュレーターで見ると、ログを見る事ができます。但し設定を変更しないと文字化けで見れません。設定→シリアルポートで、ボー・レートを115200に変更します。

teratermserial_thumb

起動させてみましたが、もう恐ろしいぐらいに遅いです。起動には約10分ぐらいかかりますし、動作も遅すぎる。これをチューニングする自信はこれっぽっちもありません。。。

DSC_0097_thumb

ちなみに、戻るボタンは右クリックで行えます。あと、シャットダウンはSHIFT + End キー長押しです。

唯一無二の参考書。但しGingerbreadについては書いてないそうです。。。

基礎から学ぶ 組み込みAndroid

基礎から学ぶ 組み込みAndroid

  • 著者: 坂本 俊之,出村 成和,渡邊 昌之
  • 出版社: シーアンドアール研究所
  • メーカー: シーアンドアール研究所

nice!(8)  コメント(4)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 8

コメント 4

白吉

おおっ、これは面白そうですね!
小さなWebServerならこれでいけそうなんですけど…調べるとDigi-Keyで入手可、価格が¥13,000程度と出てますね。

by 白吉 (2011-06-18 17:08) 

taiseiko

白吉さん
物凄い小さいので、遊びにはもってこいだと思います。テスト用に入っていたLinuxは結構普通に動いていましたが、Androidは使い物にならないレベルでした(苦笑)これで開発なんて、この先どうなることやらです。。。
by taiseiko (2011-06-18 20:04) 

ksksue

BBxm付属のSDカードはめちゃくちゃ遅いんで、SDカードを変えると重いの治ると思いますよ。
by ksksue (2011-06-20 09:38) 

taiseiko

ksksue さん
SDカード変えてても遅いんですよね。コンパイルしてやらないとダメなのでしょうか...
by taiseiko (2011-06-20 23:54) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました
HP Directplus オンラインストア

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。