RZ-G/Boards/Yocto 2.0

From eLinux.org
< RZ-G
Revision as of 15:07, 30 June 2017 by Renesas-rz (talk | contribs)
Jump to: navigation, search

This page contains information on building a Yocto 2.0 based Linux BSP for the Renesas RZ/G1E and Renesas RZ/G1M Starter Kit boards.

Click here for instructions on building a Yocto 1.6.1 BSP.

Supported Linux Host distributions

Yocto 2.0 (Jethro) is compatible with various Linux Host distributions - Ubuntu 14 and 15, Debian 7 and 8, Fedora 21 and 21 and others. For a complete list of the supported distributions see the Supported Linux Distributions section of the Yocto 2.0 Reference Manual. Please use one of the distributions on that list, e.g. Ubuntu 14.04 LTS.

Preliminary steps

  1. Install the required host packages:
    Ubuntu and Debian
    sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
         build-essential chrpath socat


    sudo dnf install gawk make wget tar bzip2 gzip python unzip perl patch \
         diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
         ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue socat \
         findutils which

    Refer to Yocto Project Quick Start for more information.

  2. Download the proprietary Multimedia and Graphics evaluation libraries for RZ/G from Renesas:
    Download the related kernel drivers as well:
    You should have something like this:
    $ ls -1
  3. Download the helper scripts that will set up the build environment:
    File:Rzg scripts yocto2.0.tar.gz
  4. Unpack the script files:
    $ tar -xvf Rzg_scripts_yocto2.0.tar.gz

Building the BSP for the Renesas RZ/G1 Starter Kit Boards

Setting up a new build directory

These steps need to be executed only once for a new build directory. For subsequent builds in the same directory skip this section and go straight to Running a build.

  1. Create a build directory and switch to it:
    export WORK=<path-to-your-build-directory>
    mkdir $WORK
    cd $WORK
  2. Copy the downloaded multimedia and graphics zip files and the setup scripts to the build directory. You should have something like this:
    $ ls -1
  3. Execute the script rzg_bsp_setup_yocto2.0.sh:
    This will clone all necessary repositories, switch to the proper branches/commits, copy files as necessary, etc.

Running a build

Warning! Yocto builds require a lot of disk space (up to 100 GB). Make sure you have got enough before starting the build.

  1. Go to your build directory:
    export WORK=<path-to-your-build-directory>
    cd $WORK
  2. Initialize the build environment:
    Note that this command is executed from the $WORK folder and it changes the current folder to $WORK\build
    source poky/oe-init-build-env
  3. Copy the proper default configuration files (bblayers.conf and local.conf) depending on the target board. Currently two boards are supported - 'skrzg1m' (RZ/G1M Starter Kit) and 'skrzg1e' (RZ/G1E Starter Kit).
    Note: At this point the current folder should be $WORK/build
    cp ../meta-renesas/meta-rzg1/templates/<board>/bblayers.conf ./conf
    cp ../meta-renesas/meta-rzg1/templates/<board>/local.conf ./conf/local.conf

    You can edit the file local.conf, e.g. to enable/disable graphics and multimedia proprietary drivers support.

  4. Start the build
    bitbake core-image-weston

    Building the image can take up to a few hours depending on your host system performance.
    After the build has been completed successfully, you should see the output similar to:

    NOTE: Tasks Summary: Attempted 4704 tasks of which 31 didn't need to be rerun and all succeeded.

    and the command prompt should return.

  5. Bitbake has generated all the necessary files in ./tmp/deploy/images directory.
    uImage is the kernel image, uImage-r8a7745-skrzg1e.dtb is the device tree file, uImage+dtb is the combined kernel and device tree image, core-image-weston-skrzg1e.tar.bz2 is the rootfs, modules-skrzg1e.tgz are the kernel modules.
  6. You can now boot the RZ/G1E or RZ/G1M Starter Kit boards over TFTP and NFS. You can also boot from microSD but note that the microSD slot is recognized as mmcblk1.

Building QT

This section describes how to add Qt 5.6 to the base BSP built on the previous steps.

  1. Clone the meta-qt5 layer:
    cd $WORK
    git clone https://github.com/meta-qt5/meta-qt5.git
  2. Switch to the proper branch/commit.
    cd $WORK/meta-qt5
    git checkout -b tmp c1b0c9f546289b1592d7a895640de103723a0305
  3. Add the build layers 'meta-qt5' and 'meta-rubby' to the file $WORK\build\conf\bblayers.conf:
      ${TOPDIR}/../meta-qt5 \
      ${TOPDIR}/../meta-openembedded/meta-ruby \
  4. Add the desired Qt packages to the variable IMAGE_INSTALL. You can do that by modifying the file $WORK\build\conf\local.conf like this:
    IMAGE_INSTALL_append = " \
        qtbase \
        qtbase-fonts \
        qtbase-plugins \ 
        qtdeclarative \
        qtdeclarative-qmlplugins \
        qtdeclarative-plugins \
        qtquick1 \
        qtquick1-qmlplugins \ 
        qtquick1-plugins \
        qtwayland \
        qtwayland-plugins \
        qtbase-examples \ 

Building the Renesas demos

This section describes how to build a couple of demo BSPs for the Renesas RZ/G boards. These BSPs are built in top of the base BSP described in the previous sections.

  1. If you haven't done this already, clone the meta-qt5 layer and switch to the proper commit:
    cd $WORK
    git clone https://github.com/meta-qt5/meta-qt5.git
    cd $WORK/meta-qt5
    git checkout -b tmp c1b0c9f546289b1592d7a895640de103723a0305
  2. Clone the meta-rzg-demos layer:
    cd $WORK
    git clone https://github.com/renesas-rz/meta-rzg-demos
  3. Switch to the branch yocto_2.0:
    cd $WORK/meta-rzg-demos
    git checkout yocto_2.0
  4. If this is a new terminal session, initialize the build environment:
    Note that this command is executed from the $WORK folder and it changes the current folder to $WORK\build
    cd $WORK/build
    source poky/oe-init-build-env
  5. Copy the configuration files for the desired demo BSP and RZ/G board. The two available demos BSPs are - 'hmi-demo' (contains various multimedia and video streaming apps) and 'qt-hmi-demo' (contains demos from the Qt framework).
    cd $WORK/build
    cp ../meta-rzg-demos/meta-rzg1/<demo_folder>/template/<board>/bblayers.conf ./conf
    cp ../meta-rzg-demos/meta-rzg1/<demo_folder>/template/<board>/local.conf ./conf
  6. Build the BSP. The demo BSPs support only the Wayland/Weston environment, X11 is not supported:
    bitbake core-image-weston