RZ-G/Boards/Yocto 2.0

From eLinux.org
< RZ-G
Revision as of 16:12, 6 July 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
    

    Fedora

    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:
    https://www.renesas.com/en-us/software/D6000548.html
    Download the related kernel drivers as well:
    https://www.renesas.com/en-us/software/D6000544.html
    You should have something like this:
    $ ls -1
    RZG_Series_Evaluation_Software_Package_for_Linux-yyyymmdd.tar.gz.zip
    RZG_Series_Evaluation_Software_Package_of_Linux_Drivers-yyyymmdd.tar.gz.zip
    
  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
    rzg_bsp_setup_yocto2.0.sh
    rzg_demos_setup_yocto2.0.sh
    

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 Building a BSP.

  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
    rzg_bsp_setup_yocto2.0.sh
    rzg_demos_setup_yocto2.0.sh
    RZG_Series_Evaluation_Software_Package_for_Linux-yyyymmdd.tar.gz.zip
    RZG_Series_Evaluation_Software_Package_of_Linux_Drivers-yyyymmdd.tar.gz.zip
    
  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.
    ./rzg_bsp_setup_yocto2.0.sh
    

Building a BSP

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.

Adding QT to the BSP

This section describes how to add Qt 5.6 to the base BSP built by 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. The demo BSPs extend the base BSP described in previous sections. Please make sure you have executed the preliminary steps as well as the steps in section Setting up a new build directory. There is no need to build the base BSP or to add the Qt framework manually, as the following steps will do that.

  1. Execute the script rzg_demos_setup_yocto2.0.sh:
    This will clone all necessary repositories, switch to the proper branches/commits, etc.
    cd $WORK
    ./rzg_demos_setup_yocto2.0.sh
    
  2. 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
    source poky/oe-init-build-env
    
  3. 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
    
  4. Build the BSP. The demo BSPs support only the Wayland/Weston environment, X11 is not supported:
    bitbake core-image-weston