ブログネタ
FirefoxOS に参加中!
Keon が届いたので、妄想ではなく実際の動作を確認してみた。
ビルドする環境については、Keon と Peak が届かないので、Nexus S を Firefox OS 端末にしてみた を参照。

Firefox OS のソースコードをダウンロード
  • 作業用のフォルダを作成する(場所はホーム直下でなくて良い)
  • $ mkdir ~/b2g_work
    $ export B2G_WORK=~/b2g_work
  • ソースコードの取得
  • $ cd $B2G_WORK
    $ git clone git://github.com/mozilla-b2g/B2G.git
    $ cd B2G
    $ ./config.sh keon
  • ビルドエラーの修正
  • ビルドが通る時点に戻す。(今後修正されると思う)
    $ cd $B2G_WORK/B2G/hardware/qcom/display
    $ git checkout 9b6dff4d75684e5299209d578a32d66c8cf06c3c
日本語データの取得と設定
  • mercurial のインストール
  • $ sudo apt-get install mercurial
  • 日本語データの取得と設定
  • $ cd $B2G_WORK
    $ 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
    ※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"
    ※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 ビルドへの変更、日本語フォントの追加、日本語辞書の設定
  • スクリーンキャプチャの修正
  • DDMSでスクリーンキャプチャを撮ると色が狂っているので修正する。
    $ cd $B2G_WORK/B2G/external/screencap-gonk
    $ wget http://sola-dolphin-1.net/data/B2G/patch/0001-fix-screencap.patch
    $ git apply 0001-fix-screencap.patch
  • official ビルドへの変更
  • gaia/Makefile に MOZILLA_OFFICIAL=1 を追加する。
    ※MOZILLA_OFFICIAL を参照してる箇所の前に書く事。
    $ cd $B2G_WORK/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_WORK/B2G/gonk-misc
    $ wget http://sola-dolphin-1.net/data/B2G/patch/0001-gonk_Add-Japanese-font.patch
    $ git apply 0001-gonk_Add-Japanese-font.patch
    $ cd $B2G_WORK/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
  • 日本語辞書の設定
  • 辞書を http://sourceforge.jp/projects/naist-jdic/releases/ からダウンロードする。
    ダウンロードするファイルは naist-jdic-0.4.3.tar.gz とする。
    ダウンロード先は $B2G_WORK とする。ダウンロード後、以下を実行。
    $ cd $B2G_WORK
    $ tar zxvf naist-jdic-0.4.3.tar.gz
    $ cd $B2G_WORK/B2G/gaia/apps/keyboard/js/imes/jskanji/dict
    $ mkdir ipadic
    $ cp $B2G_WORK/naist-jdic-0.4.3/naist-jdic.dic ipadic/
    $ make json
Firefox OS のビルドと Keon への書き込み
  • 実機(Keon)から必要なファイルを吸い出す
  • ビルドする PC と Keon を USB ケーブルで繋いでから実行すること。
    $ cd $B2G_WORK/B2G/device/geeksphone/keon
    $ ./extract-files.sh
  • Firefox OS のビルド
  • ※Firefox OS のソースコードは日々変化しているので、ビルドエラーに遭遇する事もあります。
    $ cd $B2G_WORK/B2G
    $ ./build.sh
  • Keon への書き込み&起動
  • $ cd $B2G_WORK/B2G
    $ fastboot flash boot out/target/product/keon/boot.img
    $ fastboot flash system out/target/product/keon/system.img
    $ fastboot flash userdata out/target/product/keon/userdata.img
    $ fastboot reboot
Keon で Firefox OS が動作してる様子
上記手順の他に少しカスタマイズしてみた。
左から順番に起動画面、ロック画面、ホーム画面、通知領域、ブラウザ。
device-2013-05-18-004310device-2013-05-18-004319device-2013-05-18-004330device-2013-05-18-004342device-2013-05-18-004414
あずにゃんペロペロ