Firefox OSの開発機「Otoro」「Unagi」ってのは、どうもあまりスペックが高くない端末らしい、という話は把握していたものの、実体がよく分からないなぁ、と放置していました。
で、このたび、「Announcing the Firefox OS Developer Preview Phone!」ということで、Geekphone取り扱いで「Keon」と「Peak」の2機種が入手可能になるということがアナウンスされた。
外見とかスペック(Snapdragon S1 1GHz, HVGA, RAM 512MB)とかを考えると、ZTE V788D(MSM7225A)や、Xperia E(MSM7227A)あたりが該当しそうだなぁ、と
そして、先日手に入れたK-Touch W619も同じQualcommのMSM7225A系統。
もしかしたら動くかなぁ?とビルドしてみることにしました。
とりあえず、ソースファイル群を取得し、確認したところ、otoroとunagiの構成に関するファイルは、「B2G/device/qcom/」ディレクトリにありました。
CPUはどちらもMSM7627A、と予想よりはちょっとだけ上でした。
無線LANはunagiは、NL80211とath6kl_sdio(SDIO接続)
otoroは、ar6000という違いがありそうな感じ。
まぁ、見方が間違っているような気もしますけど・・・
とりあえず、otoro想定で、buildを開始してみてます。
まだ、Build途中ですが、すでにはまった点があるので公開しておきます。
・Ubuntu 12.10にしてたらはまった。
すでにUbuntu 12.10 32bit環境があったので、そこに構築したらビルドが早々にエラーになった。
公式の「Firefox OS ビルドの必要条件」にあるように「デフォルトホストコンパイラの変更方法」をおこなう必要があったようだ。
まぁ、64bit環境にかえた方がよさそう、というのもあったので、Ubuntu 12.04 64bit環境で作り直しました。
・Firefox OS側の手順とAndroid側の手順とでパッケージ選択に差異がある
同じAndroid開発環境をベースとしているわりに、差異があった。
とりあえず、両方に書かれているパッケージ選択をそのままやっておいた。
また、javaについては「openjdk-6-jdk」を選択しておいた。
・build.sh実行時に「-j2」を指定したら失敗した
オプションなしで実行したら進んだ。
・割り当てメモリが少ないと失敗しやすい?
make[7]: *** [TabChild.o] エラー 1 make[7]: *** 未完了のジョブを待っています.... arm-linux-androideabi-g++: Internal error: Killed (program cc1plus) Please submit a full bug report. See <http://gcc.gnu.org/bugs.html> for instructions. In the directory /work/firefox/B2G/objdir-gecko/dom/ipc The following command failed to execute properly:
こんな感じのエラーがでます。
公式の「Boot to Gecko のビルド」に空きメモリがないから、と書いてあります。
まぁ、仮想マシンで1.2GBの割り当てで構成しているからですね。
もう1回、build.shを実行すると先に進む程度の失敗のようです。
そんなわけで、終わるのにはまだまだ時間がかかりそうです。