-
Notifications
You must be signed in to change notification settings - Fork 2
Build RZ G1E Yocto2.0
BSPのビルドについては基本的に上記の通り行えば良い。 以下、2017-05-30時点でのビルド例を示す。
- Ubuntu 14.04を適当なビルドマシンにインストール
- 必要なパッケージをインストール
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat
# Firefoxのビルドにautoconf2.13が追加で必要
$ sudo apt-get install autoconf2.13
各リポジトリのcloneおよびcheckout
$ 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 -b yocto_2.0 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
ただし、2017年5月29日現在で公開されているmeta-renesasにはgst-plugins-badのレシピに問題があり、環境によってはビルドができないことがある。ビルドが出来ない場合は以下の修正版を代わりに使用する(upstreamには報告済み)。
git clone -b yocto_2.0-fix-gst-plugins-bad-build-issue https://github.com/ashie/meta-renesas.git
続いて、プロプライエタリドライバのセットアップ。 以下からそれぞれ$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_skrzg1e.sh ../../proprietary
$ ./copy_mm_software_lcb.sh ../../proprietary
シェル環境のセットアップ・設定ファイルのコピー
$ cd $WORK
$ source poky/oe-init-build-env
$ cp ../meta-renesas/meta-rzg1/templates/skrzg1e/bblayers.conf ./conf
$ cp ../meta-renesas/meta-rzg1/templates/skrzg1e/local.conf ./conf/local.conf
ビルド
$ bitbake core-image-weston
- http://elinux.org/RZ-G/Boards/Yocto の以下の章を参照
- 基本的にYocto-1.6の場合と同様だが、ブートデバイスが
mmcblk0
からmmcblk1
に変更されている事に留意
SDカードのデバイスファイルとマウント先を仮にそれぞれ/dev/sdb
および/mnt/sd
とする。環境に合わせて読み替えること。
ext3パーティションの作成
$ sudo apt-get install gparted
$ sudo gparted /dev/sdb
(全領域をext3の1パーティションに割当)
SDカードにファイルをコピー
sudo mkdir -p /mnt/sd
sudo mount /dev/sdb1 /mnt/sd
sudo tar -xjf "${WORK}/build/tmp/deploy/images/skrzg1e/core-image-weston-skrzg1e.tar.bz2" -C /mnt/sd
sudo cp "${WORK}/build/tmp/deploy/images/skrzg1e/uImage+dtb.r8a7745-skrzg1e" /mnt/sd/boot/uImage+dtb
sudo umount /mnt/sd
ブート設定を確認・変更するため、シリアルコンソールでアクセスできるようにする。 以下、GNU/Linuxでscreenを使用して接続する場合の例:
screenをインストール
$ sudo apt-get install screen
実機のCN13 DEBUGと書かれたMicroUSB端子とPCのUSB端子を接続し、screenを実行
$ sudo screen /dev/ttyUSB0 38400
問題が無ければ、実機の電源投入後にコンソールに出力が表示される。
なお、ブート設定やカーネルに手を入れるのでなければ、普段のデバッグはシリアルコンソールよりもsshの方が楽。
SDカードを実機に挿入して電源投入。シリアルコンソールでスペースキーを押しっぱなしにしておく。 ubootのコンソールに入るので、以下を実行:
> setenv bootcmd 'ext4load mmc 1:1 0x40007fc0 /boot/uImage+dtb; bootm 0x40007fc0'
> setenv bootargs 'console=ttySC10,38400 ignore_loglevel rw rootfstype=ext3 root=/dev/mmcblk1p1 rootwait vmalloc=384M'
> 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.4esr 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
- 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
- 主な関連リポジトリ