昨年度はPandaBoard ESを別の目的で使用していたが、ここでは報告することができない内容だったのだが、今回は公開しても問題ない内容なので、手順を記録する意味で記す。
PandaBoard ESで動作させるのは、FirefoxOS。
◆開発環境
Ubuntu 12.04 on VMware Player on Windows8 Professional
Linuxの必要条件は
ここに書かれているので、それらを満たすようにする。
◆SDカードの初期化
とりあえず
ここの情報をもとにSDカードを初期化。
> sudo ./omap3-mkcard.sh /dev/sdb
./omap3-mkcard.sh: 37: ./omap3-mkcard.sh: kpartx: not found
というエラーが出るので、apt-getでインストール。
> sudo apt-get install kpartx
これで再度シェルを実行するとSDカードのパーティションが正常に分割された。
パーティションは次の二つに分割されればOK。
- W95FAT32(LBA)タイプでBootable74MB
- Linuxタイプの8.0GB
◆AndroidのSDカード作成
Firefox OSの動作環境を作るためには一度AndroidのIceCream Sandwichを起動できるSDカードを準備しないといけないらしい。
ICSをビルドするのはしんどいので、
ここの情報をもとにイメージをダウンロードして、SDカードの構築を行う。
まず
ここのページから 、boot.tar.bz2、system.tar.bz2、userdata.tar.bz2の3ファイルをダウンロードする。
次のコマンドでLinaroイメージツールをインストールする。
> sudo add-apt-repository ppa:linaro-maintainers/tools
> sudo apt-get update
> sudo apt-get install linaro-image-tools
> sudo apt-get install bzr
> bzr branch lp:linaro-image-tools
次のコマンドを実行した結果がtrueならば、
> gsettings get org.gnome.desktop.media-handling automount
以下のコマンドを実行する(自動マウントの無効化)。
> gsettings set org.gnome.desktop.media-handling automount false
次のコマンドを実行した結果がtrueならば、
> gsettings get org.gnome.desktop.media-handling automount-open
以下のコマンドを実行する(自動オープンの無効化)。
> gsettings set org.gnome.desktop.media-handling automount-open false
※Linaroのページでは自動マウント、自動オープンの無効化はdconfを使っていたのだが、エラーが出て正しく動作しないので、上記コマンドを代用した。
次にダウンロードしたファイルがあるフォルダに移動し、以下のコマンドを実行(赤字のドライブ名は環境によって違うので、各自の環境に合わせて変更すること)。
> sudo linaro-android-media-create --mmc
/dev/sdb --dev panda --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
※ここで、なぜか/dev/sdb1がresource busyと怒られてエラーだらけとなっていたが、VMware PlayerからSDカードリーダーを切断し、再接続したらエラーは回避された。
この手順の後で確かにSDカードに色々書き込まれていることが確認できる。
次に以下のコマンドでグラフィックスライブラリをインストールするらしい。
> wget http://people.linaro.org/~vishalbhoj/install-binaries-4.0.4.sh
> chmod a+x install-binaries-4.0.4.sh
> ./install-binaries-4.0.4.sh
なお3番目のコマンドはライセンス規約を読まされて最後にI ACCEPTと入力しないと失敗するので注意。
最後に自動マウント、自動オープンを有効にする。
> gsettings set org.gnome.desktop.media-handling automount true
> gsettings set org.gnome.desktop.media-handling automount-open true
以上の手順で作成されたSDカードをPandaBoard ESに挿入して起動すると、Androidが起動して、マウスで操作できることは確認できた。PCとserial接続してminicomでアクセスすることもできた。
しかし、なぜか時間が経つと、Androidが固まり、マウスもminicomも反応しなくなる問題が発生。。。
◆Firefox OSのダウンロード&ビルド
並行して、
ここの情報をもとにFirefox OSのプロジェクトのダウンロードとビルドを行う。ちなみに、ダウンロードは6時間くらいかかったような気がする。
また、ビルドも途中で以下のエラー出力を筆頭にして大量のエラーが発生するが、
ここの情報を見る限りはNSPRのインストールができていないことが原因の様子。
external/negatus/src/Buffer.h:8:21: error: prtypes.h: No such file or directory
NSPRは
ここのページに書いてある通りNetspace Portable Runtimeだそうです。以下のコマンドでインストールできることも書いてある。
> sudo apt-get install libnspr4-dev
再度ビルドすると、一時間はかからずに完了する。
この後の手順はPandaBoard ESとPCがUSB接続できてからとなるはずなので、反応しなくなる問題を解決しないといけない。。。
※2013/04/17 ラベルをつけ忘れていたので、追加。