Happy My Life

日常とか技術とか

Androidビルト祭 Beagle Board & x86編

Beagle board and angstrom 前回でハードウェアの準備が整ったので、今度はAndroidカーネルを準備している。別PC使っているので、裏でひたすらビルドしている感覚なのだが。

ビルド中に止ったりする事もあるが(特にx86版が)、エラーメッセージでググれば答えが出てくるので、あまり苦労は無い気がする。まあビルドに時間がかかるのは、なんとかしたいところ。

ビルド用PCを準備

VMWare Fusion & Ubuntu 8.10を使っていたのだが、ビルドに時間はかかるし、長時間のビルドによるCPU負荷 & HDDアクセスがヒドいし、パームレストが熱くなったりで、様々な弊害が出てくる事が判明したので、別PCにUbuntu 8.10(x86版)をインストールしてビルドさせる事にした。

Ubuntu 8.10にしたのは、これが一番開発環境が安定している & 使いなれているから。UbuntuGoogleでもよく使われているし。贅沢を言えば分散コンパイル環境ならもっと時間を短縮できるのだろうが、今はカーネルを動作させるのが先決なので、あとまわし。

Build Tips

  • make -j2とジョブ数を指定しない

通常、マルチコアを生かすために、make -j2とジョブ数を指定して効率よくビルドする事がよくあるのだが、Androidの場合、-j2を指定する事で ビルドが途中で止まる事がよくあった。基本ほったらかしでビルドしたいのでジョブ指定はしない事にした。

参考サイト

これらのサイトを参考に構築中。シリアル接続コネクタがまだ手元にないので、Beagle Boardでの動作検証が済んでない。

BeagleBoard

BeagleBoardのソース取得先はGoogle Codeでは無い事に注意!

x86(VMWare等)

などを参考に。実はx86版もまだ動いていなかったりする。