Firefox ESR60ビルド手順(iWave RainboW G20D Q7 Yocto 2.0) - webdino/meta-browser GitHub Wiki
基本的なビルドの流ればFirefox ESR52ビルド手順(iWave RainboW-G20D Q7 Yocto-2.0) に沿うが、以下の様に変更する必要がある。
BSPのビルド
ビルド環境のセットアップ
- Ubuntu 16.04を適当なビルドマシンにインストールする
Yoctoレシピのセットアップ
- meta-linaroを以下のように変更する
diff --git a/meta-linaro-toolchain/recipes-devtools/gcc/gcc-linaro-4.9.inc b/meta-linaro-toolchain/recipes-devtools/gcc/gcc-linaro-4.9.inc
index 852a316..d3b30bb 100644
--- a/meta-linaro-toolchain/recipes-devtools/gcc/gcc-linaro-4.9.inc
+++ b/meta-linaro-toolchain/recipes-devtools/gcc/gcc-linaro-4.9.inc
@@ -8,7 +8,7 @@ BINV = "4.9.4"
FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/gcc-${PV}' ], d)}"
-SRC_URI = "https://releases.linaro.org/${MMYY}/components/toolchain/gcc-linaro/${BASEPV}/gcc-${PV}-${RELEASE}.tar.xz \
+SRC_URI = "https://releases.linaro.org/archive/${MMYY}/components/toolchain/gcc-linaro/${BASEPV}/gcc-${PV}-${RELEASE}.tar.xz \
file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
file://0002-uclibc-conf.patch \
file://0003-gcc-uclibc-locale-ctype_touplow_t.patch \
BSPのビルド
ビルドディレクトリ(${WORK}/build)のconf/local.confに以下の設定を追加する。
GCCVERSION_mine = "linaro-4.9"
SDKGCCVERSION ?= "${GCCVERSION_mine}"
PREFERRED_VERSION_gcc ?= "${GCCVERSION_mine}"
PREFERRED_VERSION_libgcc-initial="${GCCVERSION_mine}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION_mine}"
PREFERRED_VERSION_gcc-cross-initial-${TARGET_ARCH} ?= "${GCCVERSION_mine}"
PREFERRED_VERSION_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} ?= "${GCCVERSION_mine}"
PREFERRED_VERSION_gcc-runtime ?= "${GCCVERSION_mine}"
PREFERRED_VERSION_gcc-sanitizers ?= "${GCCVERSION_mine}"
PREFERRED_VERSION_libgcc ?= "${GCCVERSION_mine}"
Firefoxのビルド方法
追加で以下のパッケージをホスト側にインストールする
$ sudo apt-get install clang llvm clang-3.9 llvm-3.9
meta-gecko-embedded、meta-browser(Gecko Embedded版)及びmeta-rust(Gecko Embedded版)をcloneする。
$ cd ${WORK}
$ git clone https://github.com/webdino/meta-gecko-embedded.git
$ git clone -b firefox-60esr https://github.com/webdino/meta-browser.git
$ git clone -b jethro-14.0.1_rust_1.24.1 https://github.com/webdino/meta-rust.git
ビルドディレクトリ(${WORK}/build)のconf/bblayers.confに以下を追加する。
BBLAYERS += " ${TOPDIR}/../meta-gecko-embedded/meta-poky-jethro "
BBLAYERS += " ${TOPDIR}/../meta-gecko-embedded/meta-poky-rust "
BBLAYERS += " ${TOPDIR}/../meta-browser "
BBLAYERS += " ${TOPDIR}/../meta-rust "
言語パックの導入方法
ビルドディレクトリのconf/local.confに以下を追加してブートイメージを作成する(下記は日本語の場合)。
IMAGE_INSTALL_append = " firefox-l10n-ja "
また、ブートイメージ内に以下の内容で/usr/lib/firefox/defaults/pref/lang.js(ファイル名は任意で良い)を作成する。
pref("intl.locale.requested", "ja");
pref("intl.locale.matchOS", false);