From eLinux.org
< R-Car‎ | Boards/CCPF-SK‎ | Yocto-Gen3
Revision as of 01:28, 30 September 2021 by Tnx94241 (talk | contribs)
Jump to: navigation, search


This page contains information abot building and running Yocto on:

If prebuilt binary of Yocto BSP is needed, please refer to the following:


EOL Notification of the M3SK

Production of M3SK is discontinued.
See M3SK page for detail.

The new version of R-Car Starter Kit Premier is now on sale !!

  • Equipped with R-Car H3e-2G
    (En) https://www.renesas.com/jp/en/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
    (Zh) https://www.renesas.com/jp/zh/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
    (Jp) https://www.renesas.com/jp/ja/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
  • CPU performance is increased 20% by supporting up to 2GHz frequency over past products.
  • You can buy from here.

SW Release Information

Board name SW name Release date Note
R-Car Starter Kit ( Premier / Pro ) Yocto v5.9.0 (stable) [New!!] 2022/02/08
Kingfisher Infotainment Board Yocto v5.9.0 (stable) [New!!] 2022/02/14 To check for latest information, please refer to the meta-rcar/tree/v5.9.0.
Android 10 (stable) 2021/07/26 R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported.
R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/11/25.
Android P (stable) 2020/09/29 R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported.
R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/03/16.
CCPF-SK Board Yocto v5.9.0 (stable) [New!!] 2022/02/08 Prebuilt binary is available in Quick startup guide page. (Updated on 2022/03/18)

Software revisions

Software Revision
Yocto Project 3.1.4
aarch64-poky-linux-gcc (GCC) 9.3
Wayland/Weston 1.18.0/8.0.0
GStreamer 1.16.3
Kernel Ver 5.10
Userland 64/32bit 64
U-Boot 2020.10
OP_TEE 3.8.0
OpenGL ES 3.2


Host PC

Ubuntu 18.04/20.04 LTS (64bit) is recommended as OS. 32bit version is not supported.

Confirmed Board

Board SoC Confirmed
R-Car Starter Kit Premier H3 v3.0 (1rank DDR) OK
R-Car Starter Kit Premier H3 v3.0 (2rank DDR) OK
R-Car Starter Kit Premier H3 v2.0 with 8GB DDR NT
R-Car Starter Kit Premier H3 v2.0 with 4GB DDR NT
R-Car Starter Kit Pro M3 v3.0 OK
R-Car Starter Kit Pro M3 v1.0 NT

18px <translate> Note:</translate> NT='Not Tested'

See also:

Required packages

  1. Download evaluation version of proprietary graphics and multimedia drivers from Renesas.
    To download Multimedia and Graphics library and related Linux drivers, please use the following link:
    Download two files:
    • R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20210428.zip
    • R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20210428.zip

    Graphic drivers are required for Wayland. Multimedia drivers are optional.
  2. Install required packages
    sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
    build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
    xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa \
    libsdl1.2-dev pylint3 xterm
    Refer to Yocto Project Quick Start for more information.

Building the BSP for CCPF-SK

What is different between "MMP" and "MMP-dist".

  • MMP is minimal BSP which contains GFX/MMP evaluation package.
  • MMP-dist is MMP + some additional packages(For debug, development, benchmark, and so on).
  • MMP-dist release package is distributed on R-Car/Boards/CCPF-SK/GettingStarted

MMP case

Using build script

  1. Directory Structure
  2. Build script(build.sh)
    '''build script'''
  3. build
    ./build.sh <target_board_name>
    18px <translate> Note:</translate> target_board_name is "h3ulcb" or "m3ulcb".
    If the build completes successfully, all the necessary files are generated in a following directory:

Manual steps

  1. Create a directory and switch to it
    Warning! Yocto builds require a lot of disk space (up to 100 GB). Make sure you have got enough before starting the build.
    mkdir build
    cd build
    export WORK=`pwd`
  2. Clone basic Yocto layers:
    cd $WORK
    git clone git://git.yoctoproject.org/poky
    git clone git://git.openembedded.org/meta-openembedded
    git clone git://github.com/renesas-rcar/meta-renesas
    git clone git://github.com/renesas-rcar/meta-renesas-ccpf
  3. Switch to proper branches/commits
    cd $WORK/poky
    git checkout -b tmp 424296bf9bb4bae27febf91bce0118df09ce5fa1
    cd $WORK/meta-openembedded
    git checkout -b tmp f2d02cb71eaff8eb285a1997b30be52486c160ae
    cd $WORK/meta-renesas
    git checkout -b tmp fd8ab2bb1b5ca98483c6f4aecf09a85c4d6bc016
    cd $WORK/meta-renesas-ccpf
    git checkout -b tmp xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Another versions are not tested for compatibility.
  4. Apply patch to update meta-rcar(patch file: File:Update-meta-rcar-for-Yv510-20210531.patch.zip)
    cd ${WORK}
    curl -sO https://elinux.org/images/6/6a/Update-meta-rcar-for-Yv510-20210531.patch.zip
    unzip -qo Update-meta-rcar-for-Yv510-20210531.patch.zip
    cd ${WORK}/meta-renesas
    patch -N -p1 < ../Update-meta-rcar-for-Yv510-20210531.patch
  5. Create $WORK/../proprietary folder, then download proprietary driver modules to it.
    See also Required_packages
    You should see the following files:
    $ ls -1 $WORK/../proprietary/*.zip
  6. Populate meta-renesas with proprietary software packages.
    export PKGS_DIR=$WORK/../proprietary
    cd $PKGS_DIR
    unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20210428.zip 
    unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20210428.zip
    cd $WORK/meta-renesas
    sh meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh -f $PKGS_DIR
    unset PKGS_DIR
  7. Setup build environment
    cd $WORK
    TEMPLATECONF=$PWD/meta-renesas-ccpf/meta-rcar-gen3/docs/sample/conf/<h3ulcb|m3ulcb>-ccpf-sk/mmp/ \
        source poky/oe-init-build-env ${WORK}/build
  8. Start the build
    bitbake core-image-weston
  9. Building 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.
  10. Bitbake has generated all the necessary files in ./tmp/deploy/images directory.
    You can verify its content:
    -> % ls -1 `find ./tmp/deploy/images/h3ulcb/ -maxdepth 1 -type l -print`
    Image is a Kernel image, *.dtb is a blob file, core-image-<image_type>-<board_name>.tar.bz2 is the rootfs, modules-<board_name>.tgz are kernel modules.
  11. You can now proceed with running Yocto images

MMP-dist case

build script

  1. Build script(build.sh)
    '''build script'''

MMP-dist release package case

build script

  1. Build script(build.sh)
    '''build script'''

Build SDK

Refer to Build SDK on the Yocto-Gen3 page.

Running Yocto images

Refer to Running Yocto images on the Yocto-Gen3 page.

Relationship diagram between each SK board and DTB file

Board name SoC version DTB file
H3SK 2.0/3.0 r8a77951-ulcb-ccpf-sk.dtb
M3SK 1.0 r8a77960-ulcb-ccpf-sk.dtb
M3SK 3.0 r8a77961-ulcb-ccpf-sk.dtb

S/W support status

Support list

Functions Status
CAN ok
USB2.0 ok
USB3.0 ok
HDMI1(only H3SK) ok
Camera 0 Not supported
Camera 1 Not supported
NVMe ok
S2RAM(Suspend to RAM) ok


"ok" - Function succeeded in the simple test as below.
"NT" - Function wasn't tested
Please connect USB 3.0 device to USB 3.0 port and USB2.0 device to USB 2.0 port.

How to test some capabilities


root@h3ulcb:~# ip link set can0 up type can bitrate 125000
root@h3ulcb:~# ip link set can1 up type can bitrate 125000
root@h3ulcb:~# candump can0&
root@h3ulcb:~# cangen can1 -I i -L i -D i
root@h3ulcb:~# candump can1&
root@h3ulcb:~# cangen can0 -I i -L i -D i


root@h3ulcb:~# dmesg | grep nvme
nvme nvme0: pci function 0000:01:00.0
nvme 0000:01:00.0: enabling device (0000 -> 0002)
nvme nvme1: pci function 0001:01:00.0
nvme 0001:01:00.0: enabling device (0000 -> 0002)
nvme nvme0: 8/0/0 default/read/poll queues
nvme nvme1: 8/0/0 default/read/poll queues
root@h3ulcb:~# mount /dev/nvme0n1p1 /mnt
EXT4-fs (nvme0n1p1): mounted filesystem with ordered data mode. Opts: (null)
root@h3ulcb:~# ls /mnt
root@h3ulcb:~# umount /mnt
root@h3ulcb:~# mount /dev/nvme1n1p1 /mnt
ETX4-fs (nvme1n1p1): mounted filesystem with ordered data mode. Opts: (null)
root@h3ulcb:~# ls /mnt
root@h3ulcb:~# umount /mnt


Push SW6 or execute 'systemctl suspend' to enter Suspend to RAM. it can wake-up by SW4.

Known issues and limitations

  1. Refer to R-Car/Boards/CCPF-SK#Known_Issues.
  2. Refer to R-Car/Boards/Yocto-Gen3/v5.1.0#Known_issues_and_limitations.

Q&A site


FAQ site