先日、TizenとFirefoxOSの合同勉強会に参加して以来、FirefoxOSに盛り上がりを感じている今日このごろです。

今回はNexusSが手元にあったので、FirefoxOSを焼いてみることにしました。
NexusSは公式にサポートされているので、簡単に焼くことができました。
前回、石原が挑戦した環境はUbuntu12.04でしたが、自分の環境はUbuntu12.10 64bitなので、ちょっとつまづいた部分もあり、その辺りも交えて手順を書いて行こうと思います。

環境構築
Ubuntu12.10に必要なツールをインストールします。
環境構築に関しては、こちらを参考に。

$ sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc-4.6 g++-4.6 g++-4.6-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make

gccとg++がバージョン4.7だと、ビルドエラーが出てしまいます。
gccは4.6に変えて大丈夫!と思っていたらg++も4.6にしないといけなくて、数時間無駄にしましたorz
ちなみに既知のエラーとして、公式サイトにも記載されています。こちら

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 110
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 100
$ sudo update-alternatives --config gcc
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 110
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 100
$ sudo update-alternatives --config g++

自分の環境は64bitなので、上記に加えてライブラリの参照先も変えないといけません。

$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

これで環境構築は終わりです。ソースを落としてビルドしてみましょう!

リポジトリの複製
ワークディレクトリを作成し、そこにリポジトリの複製を取得します。

$ git clone git://github.com/mozilla-b2g/B2G.git

取得できたら、B2Gディレクトリが作成されているので、中に入ります!

$ cd B2G

ビルド
まずは、ターゲットに併せてコンフィギュレーションを行います。コンフィギュレーションで必要なパッケージがダウンロードされるようです。基本的に全てシェルを実行するだけです。
今回はNexusS向けのビルドを行うので、nexus-sを指定。

$ ./config.sh nexus-s

毎日なにかしらリポジトリが更新されているようです。タイミングによってはパッケージが見つからずエラーになったりしました・・・
そんな時は、コーヒーでも飲みながら少し時間を起きましょう。日を改めるという忍耐力も必要です:P
大抵はエラーも無く終わるはずです。

では、ビルドを開始しましょう。

$ ./build.sh

./build.sh -j1で並列ビルドをしないようにすることを推奨しているみたいですが、指定無しでも大丈夫でした。

焼き込み
NexusSを音量大+電源ボタンでFASTBOOTモードで起動し、USB接続します。
焼き込みもシェルが用意されているので、実行します。焼き込みだけは管理者権限が必要です。

$ sudo ./flash.sh

自動でBootLoaderのUnlockからRebootまで行なってくれます。

気づいたときにはFirefoxOSが起動しているはずです。

Share
Posted in: Firefox OS.
Last Modified: 6月 12, 2013

Leave a reply

HTMLタグは使用できません。