Firefox OSがSpereadtrum SC8810対応に?

Firefox OSのソースコードにPEAK対応が追加されたよ。というので見てみたら、Spereadtrumチップに対応しているのを発見。

B2G/config.shによれば「tara」というコードネームのマシンが「sp8810ea」と定義されてた。

いつ追加されたのかなぁ?と調べてみると2013/04/04「Add tara device support」だった。

さて、この「sp8810ea」とは何かとゆーと、以前に「SpreadtrumのSC8810(SP8810)とSC9610というCPU」という記事でも紹介したが、
中国にあるSpereadtrum社の製造する、GSMと、中国専用の3G TD-SCDMAに対応した、Cortex-A5ベースのCPU SC8810のことだと思います。
中華Android業界では、なぜかよくわかりませんが、「SC8810」ではなく「SP8810」と表記されることが多いです。

わざわざこいつに対応するとは、中国とか、GSMしかない国とかで、廉価スマートフォンとして、かなり売り込む気まんまんですね。

・・・あれ?
検索したら、ずばりそのもののリリースを発見。

2012/07/16発表のSpreadrum社公式リリース「Spreadtrum Low-Cost Smartphone with HTML5 Operating System Demonstrated at Mobile Asia Congress 2012

ようやく、表に出てきた、という感じみたいですね。

さて、現状発売されていいるSC8810搭載機について、fastcardtechで見る限り

とか、そんな感じの価格です。
K-Touch、Lenovoも出しているのがちょっと意外です。

まぁ、個人的には、MediaTekチップセットに対応するべきなんじゃん?と思うわけですが、そこまではやらないのかなぁ・・・

Firefox OSをビルド中

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を実行すると先に進む程度の失敗のようです。

そんなわけで、終わるのにはまだまだ時間がかかりそうです。