This is a Yocto build layer(version:dunfell) that provides support for SolidRun's RZ/G2LC based platforms.
Currently the following boards and MPUs are supported:
- Board: RZG2LC HummingBoard RZ/G2LC Kit / MPU: R9A77G044C (RZ/G2LC)
- Board: RZG2L HummingBoard RZ/G2L Kit / MPU: R9A77G044L (RZ/G2L)
- Board: RZV2L HummingBoard RZ/V2L Kit / MPU: R9A07G054L (RZ/V2L)
To contribute to this layer you should email patches to [email protected]. Please send .patch files as email attachments.
This layer depends on:
URI: git://git.yoctoproject.org/poky
layers: meta, meta-poky, meta-yocto-bsp
branch: dunfell
revision: b8f1972b8482860d649641ad34ec8a17ef1dd983
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe, meta-python, meta-multimedia
branch: dunfell
revision: 9135c7ea7350d5d241f4afc3b28087122ebe2d19
URI: http://git.yoctoproject.org/cgit.cgi/meta-gplv2/
layers: meta-gplv2
branch: dunfell
revision: 60b251c25ba87e946a0ca4cdc8d17b1cb09292ac
URI: https://github.com/renesas-rz/meta-renesas.git
layers: meta-renesas
branch: dunfell/rz
revision: 5377babf0f79b1a6a434503c5d083e5b047da47d
BSP: 3.0.5 patch 1
(Optional: core-image-qt)
URI: https://github.com/meta-qt5/meta-qt5.git
layers: meta-qt5
revision: c1b0c9f546289b1592d7a895640de103723a0305
(Optional: Docker)
URI: https://git.yoctoproject.org/git/meta-virtualization
layers: meta-virtualization
branch: dunfell
revision: 35c723774ee06b3c1831f00a2cbf25cbeae132e1
Assume that $WORK is the current working directory. The following instructions require a Poky installation (or equivalent).
Below git configuration is required:
$ git config --global user.email "[email protected]"
$ git config --global user.name "Your Name"
Download the Yocto Project Layers (require repo app):
repo init -u https://github.com/SolidRun/meta-solidrun-arm-rzg2lc.git -b dunfell -m meta-solidrun-arm-rzg2lc.xml
repo sync
Download proprietary graphics drivers and/or multimedia codecs from Renesas:
- RZ MPU Graphics Library for RZ/G2{L,LC,UL} and RZ/V2L v1.1.0
- RZ MPU Video Codec Library for RZ/G2L and RZ/V2L v1.1.0 (Graphic drivers are required for Wayland, Codecs optional)
After downloading the proprietary packages, please decompress - then put meta-rz-features folder at $WORK.
Optionally a Docker environment can be used for the build:
docker pull crops/poky:ubuntu-20.04
docker run --rm -it -v ${PWD}:/work crops/poky:ubuntu-20.04 --workdir=/work
Initialize a build using the 'oe-init-build-env' script in Poky. e.g.:
TEMPLATECONF=$PWD/meta-solidrun-arm-rzg2lc/docs/template/conf/rzg2lc-solidrun source poky/oe-init-build-env build
Review / Edit default configuration files:
conf/bblayers.conf
conf/local.conf
Build a target using bitbake:
MACHINE=<board> bitbake <target>
# e.g
MACHINE=rzg2lc-hummingboard bitbake core-image-bsp core-image-weston core-image-qt
Valid boards:
Renesas MPU | board |
---|---|
RZ/G2LC | rzg2lc-hummingboard |
RZ/G2L | rzg2l-hummingboard |
RZ/V2L | rzv2l-hummingboard |
Valid targets:
- firmware-pack: atf + u-boot
- core-image-bsp: cli image
- core-image-weston: graphical image
- core-image-qt: graphical image including qt
After completing the images for the target machine will be available in the output directory 'tmp/deploy/images/<supported board name>'.
Images generated:
- Image (generic Linux Kernel binary image file)
- DTB for target machine
- core-image-<target>-<machine name>.tar.bz2 (rootfs tar+bzip2)
- core-image-<target>-<machine name>.ext4 (rootfs ext4 format)
- core-image-<target>-<machine name>.wic (bootable sdcard image)
It is possible to change some build configs as below:
-
GPLv3: choose to not allow, or allow, GPLv3 packages
- Non-GPLv3 (default): not allow GPLv3 license. All recipes that has GPLv3 license will be downgrade to older version that has alternative license (done by meta-gplv2). In this setting customer can ignore the risk of strict license GPLv3
INCOMPATIBLE_LICENSE = "GPLv3 GPLv3+"
- Allow-GPLv3: allow GPLv3 license. If user is fine with strict copy-left license GPLv3, can use this setting to get newer software version.
#INCOMPATIBLE_LICENSE = "GPLv3 GPLv3+"
- Non-GPLv3 (default): not allow GPLv3 license. All recipes that has GPLv3 license will be downgrade to older version that has alternative license (done by meta-gplv2). In this setting customer can ignore the risk of strict license GPLv3
-
CIP Core: choose the version of CIP Core to build with. CIP Core are software packages that are maintained for long term by CIP community. You can select by changing "CIP_MODE".
- Buster (default): use as many packages from CIP Core Buster as possible.
CIP_MODE = "Buster"
- Bullseye: use as many packages from CIP Core Bullseye.
CIP_MODE = "Bullseye"
- None CIP Core: not use CIP Core at all, use all default version from Yocto 3.1 Dunfell
CIP_MODE = "None" or unset CIP_MODE
- Buster (default): use as many packages from CIP Core Buster as possible.
-
QT Demo: choose QT5 Demonstration to build with core-image-qt. QT5 Demos are some applications to demonstrate QT5 framework.
- Unset QT_DEMO (default): all QT5 Demos are not built with core-image-qt.
#QT_DEMO = "1"
- Allow QT_DEMO: all QT5 Demos are built and included in core-image-qt.
QT_DEMO = "1"
- Unset QT_DEMO (default): all QT5 Demos are not built with core-image-qt.
-
Realtime Linux: choose realtime characteristic of Linux kernel to build with. You can enable this feature by setting the value "1" to IS_RT_BSP variable in local.conf:
IS_RT_BSP = "1"
- To add Panfrost graphics support to the layer, update
conf/local.conf
with the following:
PACKAGECONFIG_append_pn-mesa = " egl kmsro panfrost"
IMAGE_INSTALL_append += " mesa kmscube"
To include the Cog browser, follow these steps:
- Clone the meta-webkit repository and check out the dunfell branch:
git clone https://github.com/Igalia/meta-webkit.git
cd meta-webkit
git checkout dunfell
- Add the layer to the BBLAYERS in conf/bblayers.conf:
BBLAYERS:append = " ${TOPDIR}/../meta-webkit"
- Add Cog configuration and package to the build by appending to conf/local.conf:
IMAGE_INSTALL:append = " wpewebkit cog"
PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo"
To include the Chromium browser, follow these steps:
- Clone the necessary repositories and check out the appropriate branches:
- Clone meta-browser and check out the dunfell branch:
git clone https://github.com/OSSystems/meta-browser.git
cd meta-browser
git checkout dunfell
- Clone meta-clang and check out the dunfell-clang14 branch:
git clone https://github.com/kraj/meta-clang.git
cd meta-clang
git checkout dunfell-clang14
- Add the layers to BBLAYERS in conf/bblayers.conf:
BBLAYERS:append = " \
${TOPDIR}/../meta-clang \
${TOPDIR}/../meta-browser/meta-chromium \
"
- Add Chromium to the build by appending to conf/local.conf:
IMAGE_INSTALL:append = " chromium-ozone-wayland"
PREFERRED_VERSION_nodejs-native = "14.%"
- Once the configurations are complete, build the image with the following command:
MACHINE=<MACHINE-NAME> bitbake core-image-weston