Galaxy NexusにFirefox osをビルド・インストールしてみる Ubuntu編

スポンサーリンク

前回は、Archlinuxで挑戦しましたが、とても手に負えなかったので。

今回からは、Ubuntuでのビルドを検討してみます。

ただ、UbutntuをいれるPCがないので、Archlinux上のVirtualBoxで行いたいと思いますが、
基本通常のUbuntuマシンでやるのとそんなに変わらない・・・。はず。
※Android-sdkは導入済みという前提で進めますー。

Ubuntuを用意する

こちらは、Firefox osのビルド環境として推奨されているのがUbuntuの12.04です。
これをUbuntuのサイトから持って、VirtualBoxでインストール。
※Firefox osのビルドには、20GB以上のフリースペースが必要とのことなので注意

早速、準備が整ったので、必要なツールをapt-getでインストールします。
必要なツールはFireFox deveroper Neteworkに記載しているのでそちらをそのままコピペして利用します。

いくつかあるツールですが、インストールしたばかりのUbuntuで実行したところ以下のようなエラーが発生。

インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
ia32-libs : 依存: ia32-libs-multiarch
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

という感じです。

調べてみるとmultiarchへ移行してるとか。ん?それって「ia32-libs-multiarch」これっぽい。
ということで一旦スルーします。

あと、64ビット版では、シンボリックを貼る必要があるかもしれないとMozillaのサイトに書いてあるので、
指示通りシンボリックを貼っておきたいのですが、シンボリックのパスがなんだか嫌予感がします。
案の定、調べてみると、指定された先にはシンボリックが指定しているパスがありません。

/usr/lib/i386-linux-gnu/ と、ありますが、すでにこのディレクトリがない。

こちら、英語サイトに答えが書いてあります。

Firefox Debeloper Network 英語版

Solution #1の項目でOpenGL libsにかんして、symlinkを云々といってますので、
必要なツールを入れて対応します。

sudo apt-get install libgl1-mesa-dev libglapi-mesa:i386 libgl1-mesa-glx:i386
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

英語サイトの指示通りです。(8月17日現在)古くなっている可能性もあるので、随時英語サイトを確認して下さい。

Firefox osのソースコードを取ってくる。

ソースコードを取得してきますが、使用するのはgit(最初のツールのインストールで取得済み)です。
git cloneするためにわかりやすいディレクトリを用意しておきます。

mkdir ~/b2g_r

ソースコードを取得します

cd ~/b2g_r
git clone git://github.com/mozilla-b2g/B2G.git
cd B2G
./config.sh galaxy-nexus

ここからの処理が長いです。
ArchLinuxでやったときは、確かに長いは長かったですが仮想環境のせいか、さらに長いです。
2時間以上かかりました。
※仮想環境では、念のスリープに気をつけてください。私の環境特有かもしれませんが、VirtualBox側のUbuntuの
 ダウンロードが急激に遅くなりました。1晩たっても終わらず。やり直しました。

config.shの処理が完了したらここからビルドに入るのですが、細々と設定をしたいのでここからは、
solaさんのブログを参考させていただきながら実行します。

Keon と Peak が届かないので、Galaxy Nexus を Firefox OS 端末にしてみた
Nexus 4 向けに Firefox OS をビルドしてみる

画面を大きなサイズに合わせるために

gaia を master ブランチに変更

cd ~/b2g_r/B2G/gaia
git checkout -b master mozillaorg/master

大きな画面に合わせる
[shrell]
export GAIA_DEV_PIXELS_PER_PX=1
[/shell]

日本語環境のために

mercurialをインストールしておく。

sudo apt-get install mercurial

日本語データの取得と設定(ファイルのパッチなどもsolaさんのサイトから拝借します)

cd ~/b2g_r/
hg clone http://hg.mozilla.org/gaia-l10n/ja gaia-l10n/ja
export LOCALE_BASEDIR=$PWD/gaia-l10n
wget http://sola-dolphin-1.net/data/B2G/source/languages-japan.json -O $PWD/B2G/gaia/shared/resources/languages-japan.json
export LOCALES_FILE=$PWD/B2G/gaia/shared/resources/languages-japan.json
hg clone http://hg.mozilla.org/l10n-central/ja gecko-l10n/ja
export L10NBASEDIR=$PWD/gecko-l10n
export MOZ_CHROME_MULTILOCALE="ja"
hg clone http://hg.mozilla.org/build/compare-locales
export PATH="$PATH:$PWD/compare-locales/scripts"
export PYTHONPATH="$PWD/compare-locales/lib"

official ビルドへの変更、日本語フォントの追加、キーアサイン変更、日本語辞書の設定

solaさんのサイトでは、キャプチャの設定がありますが、私は使用する予定が無いので、省略します。

official ビルドへの変更
gaia/Makefile に MOZILLA_OFFICIAL=1 を追加する。
※MOZILLA_OFFICIAL を参照してる箇所の前に書く事。

cd ~/b2g_r/B2G/gaia
wget http://sola-dolphin-1.net/data/B2G/patch/0001-change-official-build.patch
git apply 0001-change-official-build.patch

日本語フォントの追加。Android(AOSP)にあるフォントを使う。

cd ~/b2g_r/B2G/build
wget http://sola-dolphin-1.net/data/B2G/patch/0001-build_Add-Japanese-font.patch
git apply 0001-build_Add-Japanese-font.patch
cd ~/b2g_r/B2G/external/moztt
wget http://sola-dolphin-1.net/data/B2G/patch/0001-moztt_Add-Japanese-font.patch
git apply 0001-moztt_Add-Japanese-font.patch

キーアサインを変更する
ホームキーが無いと戻れないので、ホームキーをボリュームUPキーに割り当てる。

$ cd $B2G_WORK/B2G/device/samsung/tuna
$ wget http://sola-dolphin-1.net/data/B2G/patch/0001-Change-the-key-assignment.patch
$ git apply 0001-Change-the-key-assignment.patch

日本語辞書の設定
辞書を http://sourceforge.jp/projects/naist-jdic/releases/ からダウンロードする。
ダウンロードするファイルは naist-jdic-0.4.3.tar.gz とする。
ダウンロード先は $B2G_WORK とする。ダウンロード後、以下を実行。

cd ~/b2g_r
tar ~/zxvf naist-jdic-0.4.3.tar.gz
cd /B2G/gaia/apps/keyboard/js/imes/jskanji/dict
mkdir ipadic
cp ~/b2g_r/naist-jdic-0.4.3/naist-jdic.dic ipadic/
make json

※環境によりますが、私の場合cpがファイルをうまく認識しなかったので
 GUIディレクトリからコピーしました。

FirefoxOS のビルドと Galaxy Nexus への書き込み
Firefox OS のビルド

cd b2g_r/B2G
./build.sh

Galaxy Nexus への書き込み&起動

cd b2g_r/B2G
sudo fastboot flash boot out/target/product/maguro/boot.img
sudo fastboot flash system out/target/product/maguro/system.img
sudo fastboot flash userdata out/target/product/maguro/userdata.img
sudo fastboot reboot

※本家のsolaさんのサイトではsudoは書いていません。が、私の環境ではsudoが必要でしたので念の為記述。

こちらで、すんなりビルド完了です。

以下、起動した状況です。

ちょっと写りがイマイチですが・・。

DSC_0115

Androidで言うところの、「Google Play」にあたる「Marketplace」
DSC_0120

Webサイトを見た感じ
DSC_0116

日本語キーボードを起動してみた感じ(フリックではなくガラケー式入力)
DSC_0119

なんとなくもさっとした動きです。もちろんながらMarketplaceも品揃えはまだまだのようです。

でも、カメラが動くと、いいなーと思いつつ・・・。
xdaで公開されているimgではカメラが動くのもある?(未確認です)みたいですが、日本語は対応してなさそうだしなーと。

スポンサーリンク

シェアする

フォローする

スポンサーリンク