ZTE Openをbuildしてみた
端末を購入したんで早速環境を作ってOSをビルドしてみた。
折角bootloaderがunlockされてるんだし。
ビルド環境
環境はVMware Playerにセットアップしたubuntu12.04 LTS 64bit。
B2G OS build prerequisites - Archive of obsolete content | MDN を参考にしつつ。
必要なコンパイラなどをTerminalでインスト。
$ sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make zip $ sudo apt-get install android-tools-adb
adbで実機とつなぐ必要があるんでudevの設定もする。
$ sudo vi /etc/udev/rules.d/51-android.rules
51-android.rulesを作成したら、下を入力。
SUBSYSTEM=="usb", ATTRS{idVendor}=="####:####", SYMLINK+="android_adb", MODE="0666" GROUP="plugdev" TEST=="/var/run/ConsoleKit/database", RUN+="udev-acl --action=$env{action} --device=$env{DEVNAME}"
保存したら権限をつけて、サービスの再起動。
$ sudo chmod a+r /etc/udev/rules.d/android.rules $ sudo service udev restart
というか環境に関しては以前GN向けに試したときのなのでここの「ビルド環境作成」をそのままやった記憶が。
ソース取得
現時点でmasterリポジトリから最新版を取得したら、OS 1.3 preview版だったので参考にしたサイトの通りbranch指定で取得してみた。
まずは作業ディレクトリを作成してその中でgit cloneしてリポジトリを取得。
$ mkdir ~/b2g_work $ cd ~/b2g_work $ git clone git://github.com/mozilla-b2g/B2G.git
cloneが完了したらソースの取得。
$ cd B2G $ BRANCH=v1.2 VARIANT=user ./config.sh inari
通信環境にもよるけど、ソースの取得で時間がかかるんで休憩。
VARIANTを変えればrooted状態にもできるはず。
geckoとgaiaの日本語化
日本語化はBuilding B2G OS - Archive of obsolete content | MDNの「Building multilocale」を参考に。
言語ファイルを予め作っておく。
$ vi ~/b2g_work/languages-ja.json
なかみはjson形式で。
{ "en-US" : "English (US)", "ja" : "日本語" }
各種言語ファイルを取得&設定していく。
$ cd ../ $ hg clone http://hg.mozilla.org/gaia-l10n/ja gaia-l10n/ja $ export LOCALE_BASEDIR=$PWD/gaia-l10n $ export LOCALES_FILE=$PWD/B2G/gaia/shared/resources/languages-ja.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"
オフィシャルビルドへ
ブートロゴとかをオフィシャルにしたいときはmakefileに変数を追加。
B2G/gaia/Makefileを開いて252行目辺りに下を追加。
MOZILLA_OFFICIAL=1
ビルド実行
あとはビルドエラーがでないことを祈りつつ実行。
$ cd ~/b2g_work/B2G $ export CC=gcc-4.6 $ export CXX=g++-4.6 $ BRANCH=v1.2 VARIANT=user ./build.sh
焼く
ビルドが成功したら、boot.imgをコピーしてから焼く。
boot.imgはhttp://sl.edujose.org/2013/10/adapted-boot-image-for-use-with-b2g.htmlここから入手。
out/target/product/inari/boot.img としてコピー。
$ ./flash.sh
フラッシュすれば、起動する…はず。
日本語キーボード
キーボードもブログを参考にしながらやってみたけど、gaia配下のキーボードアプリがビルドのタイミングでpullされて初期化されちゃうらしく・・・。
シェルにその後定義をコピーするように書いてみても動く気配がないので、現在は放置中。
参考にしたサイト
http://blog.sola-dolphin-1.net/archives/4386949.html
このブログが無かったら本家MDNだけじゃ謎だらけ。
FirefoxOS 1.2 on ZTE Open - Miker
ZTE Openのビルド方法はここにまとまってる。