-
Notifications
You must be signed in to change notification settings - Fork 2
Build RainboW G20D Q7 Yocto 2.0
BSPのビルドについては基本的に上記の通り行えば良い。ただし、以下の点が異なる。
- ボード名('skrzg1m'や'skrzg1e'に相当する箇所)は
iwg20m
に読み替える。 - meta-renesasのブランチは
cip-dev
を使用する。 - meta-rzg-demosは、本ドキュメントで使用するmeta-browserやmeta-gecko-embeddedと併用することはできない。
以下、2017-12-18時点でのビルド例を示す。
- Ubuntu 14.04を適当なビルドマシンにインストールする
- 必要なパッケージをインストールする
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat libsdl1.2-dev
# Firefoxのビルドにautoconf2.13が追加で必要
$ sudo apt-get install autoconf2.13
各Yoctoレイヤのリポジトリをcloneする。
$ export WORK=${HOME}/Projects/rz-g1-bsp
$ mkdir -p $WORK/proprietary
$ cd $WORK
$ git clone git://git.yoctoproject.org/poky
$ git clone git://git.openembedded.org/meta-openembedded
$ git clone git://git.linaro.org/openembedded/meta-linaro.git
$ git clone https://github.com/renesas-rz/meta-renesas.git
$ cd $WORK/poky
$ git checkout -b tmp 3b223f75eec1738fbc913858e8e11c8305e3edcb
$ cd $WORK/meta-openembedded
$ git checkout -b tmp dc5634968b270dde250690609f0015f881db81f2
$ cd $WORK/meta-linaro
$ git checkout -b tmp 12993e6bc8658ee37d303d8d59007f8dd9ab2b30
$ cd $WORK/meta-renesas
$ git checkout certified-linux-v2.0.2
続いて、プロプライエタリドライバをセットアップする。 以下からそれぞれ$WORK/proprietaryにダウンロードする。
- https://www.renesas.com/en-us/software/D6000548.html
- https://www.renesas.com/en-us/software/D6000544.html
上記の中身をソースツリー内にコピーする。
$ cd $WORK/proprietary
$ unzip RZG_Series_Evaluation_Software_Package_for_Linux-20161011.tar.gz.zip
$ unzip RZG_Series_Evaluation_Software_Package_of_Linux_Drivers-20161011.tar.gz.zip
$ cd $WORK/meta-renesas/meta-rzg1
$ ./copy_gfx_software_rzg1m.sh ../../proprietary
$ ./copy_mm_software_lcb.sh ../../proprietary
シェル環境をセットアップし、設定ファイルをコピーする。
$ cd $WORK
$ source poky/oe-init-build-env
$ cp ../meta-renesas/meta-rzg1/templates/iwg20m/bblayers.conf ./conf
$ cp ../meta-renesas/meta-rzg1/templates/iwg20m/local.conf ./conf/local.conf
bitbakeコマンドでcore-image-westonをビルドする。
$ bitbake core-image-weston
- 本体付属のドキュメント
- 基本的にYocto-1.6の場合と同様だが、microSDデバイスが
mmcblk1
からmmcblk0
に変更されている事に留意
以下、microSDカードのデバイスファイルを/dev/sdb
として説明する。環境に合わせて読み替えること。
microSDカード上にパーティションを作成する。
$ sudo apt-get install gparted
$ sudo gparted /dev/sdb
(boot用の第一パーティションをfat32、rootfs用の第二パーティションをext3に割当)
micorSDカードにファイルをコピーする。
sudo mkdir -p /mnt/boot
sudo mount /dev/sdb1 /mnt/boot
sudo cp "${WORK}/build/tmp/deploy/images/iwg20m/uImage" /mnt/boot/uImage
sudo cp "${WORK}/build/tmp/deploy/images/iwg20m/uImage-r8a7743-iwg20m.dtb" /mnt/boot/uImage-r8a7743-iwg20m.dtb
sudo umount /mnt/boot
sudo mkdir -p /mnt/rootfs
sudo mount /dev/sdb2 /mnt/rootfs
sudo tar xfj "${WORK}/build/tmp/deploy/images/iwg20m/core-image-weston-iwg20m.tar.bz2" -C /mnt/rootfs
sudo umount /mnt/rootfs
2017-09-26現在、同BSPはタッチパネルに対応しておらず、映像はHDMIからしか出力できない。
- 本体にカメラ接続キット(ドーターボード)を接続し、ドーターボード上のHDMIポートにモニターを接続する
- モニターがデフォルトの出力解像度に対応していない場合があるため、rootfs上のetc/xdg/weston/weston.iniに以下の設定を追加する
[output]
name=HDMI-A-1
mode=1280x720
[output]
name=LVDS-1
mode=off
# 以下は必要に応じて
[keyboard]
keymap_rules=evdev
keymap_layout=jp
ブート設定を確認・変更するため、シリアルコンソールでアクセスできるようにする。 以下、GNU/Linuxでscreenを使用して接続する場合の例:
screenをインストール
$ sudo apt-get install screen
実機のDEBUG PORTと書かれたMicroUSB端子とPCのUSB端子を接続し、screenを実行
$ sudo screen /dev/ttyUSB0 115200
問題が無ければ、実機の電源投入後にコンソールに出力が表示される。
なお、ブート設定やカーネルに手を入れるのでなければ、普段のデバッグはシリアルコンソールよりもsshの方が楽。
microSDカードを実機に挿入して電源を投入する。この際、シリアルコンソールでスペースキーを押しっぱなしにしておく。
U-Bootのコンソールに入るので、以下を実行する
(注: ボードのリビジョンによってはベースの設定が異なるかもしれないので、設定内容はsaveenv
する前によく検証すること)。
> setenv bootargs_msd_bsp2 'setenv bootargs ${bootargs_base} root=/dev/mmcblk0p2 rootwait rootfstype=ext3 rw'
> setenv bootcmd_msd_bsp2 'run bootargs_msd_bsp2;run fdt_check;mmc dev 1;fatload mmc 1 ${loadaddr} ${kernel};fatload mmc 1 ${fdt_addr} uImage-r8a7743-iwg20m.dtb;bootm ${loadaddr} - ${fdt_addr}'
> setenv bootcmd 'run bootcmd_msd_bsp2'
> saveenv
ボードを再起動する。問題が無ければOSが起動する。
meta-gecko-embeddedおよびmeta-browser(Gecko Embedded版)をcloneする。
$ cd ${WORK}
$ git clone https://github.com/webdino/meta-gecko-embedded.git
$ git clone -b firefox-52.3esr https://github.com/webdino/meta-browser.git
ビルドディレクトリ(${WORK}/build)のconf/bblayers.confに以下を追加する。
BBLAYERS += " ${TOPDIR}/../meta-gecko-embedded/meta-poky-jethro "
BBLAYERS += " ${TOPDIR}/../meta-browser "
ビルドディレクトリのconf/local.confに以下を追加する。
IMAGE_INSTALL_append = " firefox "
IMAGE_INSTALL_append = " ttf-sazanami-gothic ttf-sazanami-mincho "
また、
DISTRO_FEATURES_remove = "x11"
となっている箇所を
DISTRO_FEATURES_append = "x11"
に変更する。
差分:
-DISTRO_FEATURES_remove = "x11"
+DISTRO_FEATURES_append = "x11"
GPUアクセラレーションを有効化したい場合は、local.confに以下を追加する (注: 現状では強制的にフルスクリーンになる制限がある)。
PACKAGECONFIG_append_pn-firefox = " egl "
OpenMAXによるH.264再生のアクセラレーションを有効化したい場合は、local.confに以下を追加する。
PACKAGECONFIG_append_pn-firefox = " openmax "
WebGLを有効化したい場合は、local.confに以下を追加する (注: 現状では800x600を超えるcanvasを使用すると正しく描画されない問題がある)。
PACKAGECONFIG_append_pn-firefox = " webgl "
Canvas(2dcontext)のアクセラレーションを有効化したい場合は、local.confに以下を追加する (注: 現状では800x600を超えるcanvasを使用すると正しく描画されない問題がある)。
PACKAGECONFIG_append_pn-firefox = " canvas-gpu "
以上の設定でrootfsイメージを再ビルドする。
$ cd ${WORK}/build
$ bitbake core-image-weston
ビルドされたウェブブザウザは、実機上で以下のコマンドを入力することで起動することができる。
# WAYLAND_DISPLAY=wayland-0 firefox
ビルドディレクトリのconf/local.confに以下を追加してブートイメージを作成する(下記は日本語の場合)。
IMAGE_INSTALL_append = " firefox-l10n-ja "
また、ブートイメージ内に以下の内容で/usr/lib/firefox/defaults/pref/lang.js(ファイル名は任意で良い)を作成する。
pref("general.useragent.locale", "ja");
pref("intl.locale.matchOS", false);
本レシピではALSAサポートがデフォルトで有効化されている。 実機での使用時に音量を適切に設定すれば、音声を再生することができる。
音量設定例:
# amixer sset 'Headphone' 118 -D sysdefault
まず、ビルド時に以下をlocal.confに追加してブートイメージ(core-image-weston)をビルドする。
IMAGE_INSTALL_append = " pulseaudio-server "
pulseaudioデーモンは自動で起動しないため、実機でのFirefox実行前に手動でpulseaudioデーモンを起動する必要がある。 また、ミキサーで音量を適切に設定しておくこと。
# amixer sset 'Headphone' 118 -D sysdefault
# pulseaudio --exit-idle-time=-1 --start
以下の設定を追加してcore-image-westonをビルドすると、HEMS(Home Energy Management System)をイメージしたデモHTMLコンテンツgem-tanzaniteをブートイメージに含めることができる (注: 本コンテンツはタッチパネルが無いと操作できないが、2017-09-26現在、同BSPはタッチパネルをサポートしていない)。
conf/bblayers.conf:
BBLAYERS += " ${TOPDIR}/../meta-gecko-embedded/meta-demo "
conf/local.conf:
IMAGE_INSTALL_append = " gem-tanzanite "
実機上で以下のコマンドを入力することで、ウェブブラウザ及び同HTMLコンテンツを起動することができる。
# gem-tanzanite
また、以下の設定を含めてブートイメージをビルドすると、同デモコンテンツがシステム起動時に自動起動する。
conf/local.conf:
IMAGE_INSTALL_append = " gem-tanzanite-init "
- 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
- 主な関連リポジトリ