-
Notifications
You must be signed in to change notification settings - Fork 2
Build RZ G2
Renesas RZ/G2 シリーズのボード向けのビルド手順をまとめています。
RZ/G2E 向けの VLP (BSP) のビルドに必要なファイルは Renesas のサイト で入手する。
- RZ/G Verified Linux Package for 64bit kernel
- 公式ドキュメントとしてのビルド手順は VLP の各バージョンのリリースノート (例えば VLP 1.0.2 のリリースノート r01tu0277ej0102-rz-g.pdf など) に書かれている
- RZ/G Multimedia Package for 64bit kernel
注意事項:
- 評価版は即時ダウンロード可能になるが、製品版は Renesas Customer Hub での申請ベースでの提供となっており入手まで数日かかる
- 評価版の場合は (RZ/G1 の時と同じなら) 起動後 3 時間で画面がフリーズする制限がある
- 画面出力は LVDS 推奨、HDMI は開発用という扱いであり、HDMI ディスプレイ接続時は HDMI パッチが必要です
- 従来 Github の meta-renesas から入手していたが変更されている
公式 VLP (for HTML5) の VLP 1.0.6 for HTML5 リリースノート で指定の通り Ubuntu 16.04 を用いた場合の Gecko 68 ビルド手順を記載する (Gecko 78 の手順は後述、基本的に同じ)。 VLP 1.0.7-RT 以降では 18.04 でのビルドが推奨となったが同じ手順にてビルド可能。VLP 1.0.8 については現在 Ubuntu 18.04 を用いたビルド環境・手順の準備を進めている。
なお、他ディストリビューションでも依存パッケージを正しく準備できればビルド可能と思われるが、確認はしていない。Gecko 68/78 のインストール対象ボードが RZ/G2 シリーズのいずれであるか (ek874, hihope-rzg2m など) に依らず、同一手順でビルド可能である (RZ/G1 シリーズでも同じ)。
ビルド環境が Ubuntu 16.04 の場合以下を実行する (Ubuntu 18.04 利用時には以下の手順は不要)。
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get install gcc-7 g++-7
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10 \
--slave /usr/bin/g++ g++ /usr/bin/g++-5
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 20 \
--slave /usr/bin/g++ g++ /usr/bin/g++-7
Gecko バージョンに応じたブランチ、リビジョンのレイヤをダウンロードする。これは Docker ビルド環境では以下の違いに相当する:
- https://github.com/anyakichi/docker-gecko-embedded-builder/tree/master/esr68
- https://github.com/anyakichi/docker-gecko-embedded-builder/tree/master/esr78
$ cd $WORK
$ git clone -b firefox-78-wip https://github.com/webdino/meta-browser.git
$ git clone https://github.com/meta-rust/meta-rust.git
$ git -C meta-rust checkout be88d857a6ba9134abb795b3a34d3a839196335f
$ git clone -b rocko-again https://github.com/webdino/meta-clang.git
$ cd $WORK
$ git clone -b gem-firefox-68.0.0esr https://github.com/webdino/meta-browser.git
$ git clone https://github.com/meta-rust/meta-rust.git
$ git -C meta-rust checkout 9487b089ea4779c2b494b17b9254219226efa539
$ git clone -b rocko-again https://github.com/webdino/meta-clang.git
$ cd $WORK/build
$ bitbake-layers -F add-layer $(pwd)/../meta-rust
$ bitbake-layers -F add-layer $(pwd)/../meta-clang
$ bitbake-layers -F add-layer $(pwd)/../meta-browser
${WORK}/build/conf/local.conf に以下の内容を追加する(meta-rzg2 のdocs/sample/conf/MACHINE/linaro-gcc/local_gecko.conf をコピーしても良い)。
IMAGE_INSTALL_append = " firefox "
IMAGE_INSTALL_append = " ttf-sazanami-gothic ttf-sazanami-mincho "
IMAGE_INSTALL_append = " pulseaudio-server "
PACKAGECONFIG_append_pn-firefox = " openmax "
PACKAGECONFIG_append_pn-firefox = " webgl "
PACKAGECONFIG_append_pn-firefox = " gpu "
TARGET_CXXFLAGS_remove_toolchain-clang = " --stdlib=libc++"
TUNE_CCARGS_remove_toolchain-clang = " --rtlib=compiler-rt --unwindlib=libunwind --stdlib=libc++"
TUNE_FEATURES_remove_toolchain-clang = "cortexa57-cortexa53"
DISTRO_FEATURES_append = " x11"
リンクホバー時のカーソルなどを正しく表示したい場合、以下も追記しておく。
IMAGE_INSTALL_append = " adwaita-icon-theme-cursors "
BB_NO_NETWORK は 0 に設定する。
BB_NO_NETWORK = "0"
下記はデフォルトの Buster CIP を使う場合は不要なのでスキップして良い。
Jessie CIP を使用する場合、もしくは BSP 1.0.6 より古いバージョンでビルド を行いたい場合には、別途新しい nodejs をインストールする必要がある。
-
https://nodejs.org/ から Linux (x64) 向けのバイナリをダウンロードする (ここでは 14.17.0 をダウンロードしたものとする)。
-
以下の手順で .mozbuild/node 以下に nodejs をインストールする。
$ mkdir ~/.mozbuild $ cd ~/.mozbuild $ tar -xf /path/to/node-v14.17.0-linux-x64.tar.xz $ mv node-v14.17.0-linux-x64 node
Firefox ブラウザビルドではなく、組み込み用に最小化した WebViewer (Amethyst) ビルドを行う場合、amethyst の README 記載の通りパッチファイルを適用、ブランディングファイルをコピーした上で、local.conf にて firefox
レシピ用の指定を全て webviewer
レシピ用に切り替えてください。Firefox と WebViewer 両方のビルドを行いたい場合は両方併記してください。
IMAGE_INSTALL_append = " webviewer "
PACKAGECONFIG_append_pn-webviewer = " openmax "
PACKAGECONFIG_append_pn-webviewer = " webgl "
PACKAGECONFIG_append_pn-webviewer = " gpu "
$ cd $WORK/build
$ bitbake core-image-weston
Gecko 68 では WebGL2 を有効化するためには X11 が使用可能な状態になってい る必要がある。Wayland 環境では XWayland を有効にしておくことで WebGL2 の 有効化が可能。
FW 内の /etc/xdg/weston/weston.ini の core セクションに、
xwayland=true
を追加しておくこと。
[core]
xwayland=true
上記の環境・手順をほぼすべて含んだ Docker によるビルド環境が用意されている。
- https://github.com/anyakichi/docker-gecko-embedded-builder
- https://hub.docker.com/r/anyakichi/gecko-embedded-builder
hihope-rzg2m 向けの BSP-1.0.1-update1 + Gecko 68 の環境であれば、以下のようにビルドすることが可能。
$ mkdir hihope-rzg2m-101u1-esr68 && cd hihope-rzg2m-101u1-esr68
$ din anyakichi/gecko-embedded-builder:hihope-rzg2m-101u1-esr68
builder@hihope-rzg2m-101u1-esr68:/build$ extract
builder@hihope-rzg2m-101u1-esr68:/build$ setup
builder@hihope-rzg2m-101u1-esr68:/build/build$ build
extract 後にプロプライエタリドライバと HDMI 有効化パッチの適用だけは手動で行う必要があるので注意すること。その他詳細は README を参照のこと。
ビルドが終わったら ブート用 SD カードの準備手順説明ページ に従って SD カードを用意して起動してください。
RZ/G2 固有ではない、起動時の環境変数の指定などについては Tips ページ を参照。
WebViewer の機能と使い方については amethyst wiki を参照。
デモ用コンテンツ Tanzanite や動作試験用の WPT を行う為に必要なモジュールを追加でビルドする場合については Gecko 本体以外の追加レシピについてのページ を参照してください。
- Gecko のビルド手順
- RZ/G2
- R-Car Gen3 Yocto2.1, Yocto2.4
- RZ/G1E Yocto 1.6.1, Yocto 2.0
- RasinboW G20D Q7 Yocto1.6.1, Yocto2.0
- Wandboard
- iMX6 SABRE
- Armadillo EVA 1500
- SD カード作成
- 追加レシピ (WPT等)
- Tips Pages
- 主な関連リポジトリ