Difference between revisions of "R-Car/Boards/Kingfisher/Yocto-Gen3/v4.1.0"

From eLinux.org
Jump to: navigation, search
(Copy from v3.21.0 page)
 
(Update to v4.1.0)
Line 9: Line 9:
 
This page contains information on building and running Yocto on:
 
This page contains information on building and running Yocto on:
 
* [[R-Car/Boards/Kingfisher | Infotainment Carrier Board For R-Car Starter Kit(Kingfisher)]]
 
* [[R-Car/Boards/Kingfisher | Infotainment Carrier Board For R-Car Starter Kit(Kingfisher)]]
 +
 +
{{Note}}
 +
<span style="color: #FF0000; font-size: 1.5em;">
 +
This version does not support Wayland/weston and Multimedia Packages.<br/>
 +
<span>
 +
 +
== Topic ==
 +
{{Template:R-Car-Gen3-KF-Topic}}
  
 
== Yocto versions ==
 
== Yocto versions ==
[http://git.yoctoproject.org/cgit/cgit.cgi/poky/tag/?id=yocto-2.4.3 Poky-2.4.3] is supported with Yocto v3.21.0.<br/>
+
[http://git.yoctoproject.org/cgit/cgit.cgi/poky/tag/?id=yocto-3.0.2 Poky-3.0.2] is supported with Yocto v4.1.0.<br/>
 
Specific commit of meta-openembedded is required.
 
Specific commit of meta-openembedded is required.
  
Line 18: Line 26:
  
 
== Required packages ==
 
== Required packages ==
# 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 evaluation version of proprietary graphics and multimedia drivers from Renesas. -->
#:: https://www.renesas.com/us/en/solutions/automotive/rcar-download/rcar-demoboard.html
+
# Download evaluation version of proprietary graphics package from Renesas.
 +
<!-- #: To download Multimedia and Graphics library and related Linux drivers, please use the following link: -->
 +
#: To download Graphics library and related Linux drivers, please use the following link:
 +
#::* https://www.renesas.com/us/en/solutions/automotive/rcar-download/rcar-demoboard.html
 
#: Download two files:
 
#: Download two files:
#:: R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20190722.zip
+
#::* R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip
#:: R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20190722.zip
+
#::* R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
#: <br/>
+
<!-- #: <br/> -->
#: Graphic drivers are required for Wayland. Multimedia drivers are optional.
+
<!-- #: Graphic drivers are required for Wayland. Multimedia drivers are optional. -->
 
# Install required packages
 
# Install required packages
 
#: '''Ubuntu and Debian'''
 
#: '''Ubuntu and Debian'''
Line 46: Line 57:
  
 
=== Build using script ===
 
=== Build using script ===
This example is for Kingfisher with H3ULCB board.<br/>
 
If you use other board, you need to modify the script.<br/>
 
 
# Directory Structure
 
# Directory Structure
 
#: <syntaxhighlight lang="bash">
 
#: <syntaxhighlight lang="bash">
 
|--build.sh
 
|--build.sh
 
`--proprietary
 
`--proprietary
   |--R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20190722.zip
+
   |--R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip
   `--R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20190722.zip
+
   `--R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
 
</syntaxhighlight>
 
</syntaxhighlight>
 
# Build script(build.sh)
 
# Build script(build.sh)
Line 59: Line 68:
 
#!/bin/bash
 
#!/bin/bash
  
#Set the target board
+
BOARD_LIST=("h3ulcb" "m3ulcb")
TARGET_BOARD=h3ulcb
+
TARGET_BOARD=$1
#TARGET_BOARD=m3ulcb
+
PROPRIETARY_DIR=`pwd`/proprietary
 +
WORK=`pwd`/${TARGET_BOARD}
 +
 
 +
Usage () {
 +
    echo "Usage: $0 \${TARGET_BOARD_NAME}"
 +
    echo "BOARD_NAME list: "
 +
    for i in ${BOARD_LIST[@]}; do echo "  - $i"; done
 +
    exit
 +
}
 +
 
 +
# Check Param.
 +
if ! `IFS=$'\n'; echo "${BOARD_LIST[*]}" | grep -qx "${TARGET_BOARD}"`; then
 +
    Usage
 +
fi
  
 
# Create a directory and switch to it
 
# Create a directory and switch to it
mkdir $TARGET_BOARD
+
mkdir -p ${WORK}
cd $TARGET_BOARD
+
cd ${WORK}
WORK=`pwd`
 
echo $WORK
 
  
 
# Clone basic Yocto layers in parallel
 
# Clone basic Yocto layers in parallel
 
git clone git://git.yoctoproject.org/poky &
 
git clone git://git.yoctoproject.org/poky &
git clone git://git.linaro.org/openembedded/meta-linaro.git &
 
 
git clone git://git.openembedded.org/meta-openembedded &
 
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 &
git clone git://github.com/CogentEmbedded/meta-rcar.git &  
+
git clone git://github.com/CogentEmbedded/meta-rcar.git &
  
 
# Wait for all clone operations
 
# Wait for all clone operations
Line 80: Line 99:
  
 
# Switch to proper branches/commits
 
# Switch to proper branches/commits
cd $WORK/poky
+
cd ${WORK}/poky
git checkout -b tmp 7e7ee662f5dea4d090293045f7498093322802cc
+
git checkout -b tmp 5e1f52edb7a9f790fb6cb5d96502f3690267c1b1
cd $WORK/meta-openembedded
+
cd ${WORK}/meta-openembedded
git checkout -b tmp 352531015014d1957d6444d114f4451e241c4d23
+
git checkout -b tmp 9e60d30669a2ad0598e9abf0cd15ee06b523986b
cd $WORK/meta-linaro
+
cd ${WORK}/meta-renesas
git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885
+
git checkout -b tmp f6ccae7cfb669937aac221ff5cb6a13b36eff951
cd $WORK/meta-renesas
 
git checkout -b tmp 59e8d5674348e2b3d14ac4552231809ab10ab84e # <- updated
 
 
cd $WORK/meta-rcar
 
cd $WORK/meta-rcar
git checkout -b v3.21.0 remotes/origin/v3.21.0
+
git checkout -b v4.1.0 remotes/origin/v4.1.0
  
 
# Populate meta-renesas with proprietary software packages
 
# Populate meta-renesas with proprietary software packages
cd $WORK/meta-renesas
+
cd ${WORK}/../proprietary
sh meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh -f $WORK/../proprietary
+
unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip
 +
unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
 +
cd ${WORK}/meta-renesas
 +
sh meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh -f ${WORK}/../proprietary
  
cd $WORK
+
cd ${WORK}
source poky/oe-init-build-env $WORK/build
+
source poky/oe-init-build-env ${WORK}/build
  
#cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/bsp/*.conf ./conf/.
+
#cp ${WORK}/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/bsp/*.conf ./conf/
#cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/gfx-only/*.conf ./conf/.
+
cp ${WORK}/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/gfx-only/*.conf ./conf/
cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/mmp/*.conf ./conf/
+
#cp ${WORK}/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/mmp/*.conf ./conf/
  
cd $WORK/build
+
cd ${WORK}/build
 
cp conf/local-wayland.conf conf/local.conf
 
cp conf/local-wayland.conf conf/local.conf
echo 'DISTRO_FEATURES_append = " use_eva_pkg"' >> $WORK/build/conf/local.conf
 
  
 
bitbake-layers add-layer ../meta-rcar/meta-rcar-gen3-adas
 
bitbake-layers add-layer ../meta-rcar/meta-rcar-gen3-adas
Line 112: Line 131:
 
# build
 
# build
 
#: <syntaxhighlight lang="bash">
 
#: <syntaxhighlight lang="bash">
./build.sh
+
./build.sh <target_board_name>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
#: If the build completes successfully, all the necessary files are generated in a following directory:
 
#: If the build completes successfully, all the necessary files are generated in a following directory:
Line 129: Line 148:
 
# Clone basic Yocto layers:
 
# Clone basic Yocto layers:
 
#: <syntaxhighlight lang="bash">cd $WORK
 
#: <syntaxhighlight lang="bash">cd $WORK
 +
cd $WORK
 
git clone git://git.yoctoproject.org/poky
 
git clone git://git.yoctoproject.org/poky
 
git clone git://git.openembedded.org/meta-openembedded
 
git clone git://git.openembedded.org/meta-openembedded
git clone git://git.linaro.org/openembedded/meta-linaro.git
 
 
git clone git://github.com/renesas-rcar/meta-renesas
 
git clone git://github.com/renesas-rcar/meta-renesas
 
git clone git://github.com/CogentEmbedded/meta-rcar.git
 
git clone git://github.com/CogentEmbedded/meta-rcar.git
 
</syntaxhighlight>
 
</syntaxhighlight>
# Switch to proper branches/commits <span style="color:#ff0000;">(2020/02/20 updated)</span>
+
# Switch to proper branches/commits
 
#: <syntaxhighlight lang="bash">
 
#: <syntaxhighlight lang="bash">
 
cd $WORK/poky
 
cd $WORK/poky
git checkout -b tmp 7e7ee662f5dea4d090293045f7498093322802cc
+
git checkout -b tmp 5e1f52edb7a9f790fb6cb5d96502f3690267c1b1
 
cd $WORK/meta-openembedded
 
cd $WORK/meta-openembedded
git checkout -b tmp 352531015014d1957d6444d114f4451e241c4d23
+
git checkout -b tmp 9e60d30669a2ad0598e9abf0cd15ee06b523986b
cd $WORK/meta-linaro
 
git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885
 
 
cd $WORK/meta-renesas
 
cd $WORK/meta-renesas
git checkout -b tmp 59e8d5674348e2b3d14ac4552231809ab10ab84e # <= updated
+
git checkout -b tmp f6ccae7cfb669937aac221ff5cb6a13b36eff951
 
cd $WORK/meta-rcar
 
cd $WORK/meta-rcar
git checkout -b v3.21.0 remotes/origin/v3.21.0
+
git checkout -b v4.1.0 remotes/origin/v4.1.0
 
</syntaxhighlight>
 
</syntaxhighlight>
 
#: Another versions are not tested for compatibility.
 
#: Another versions are not tested for compatibility.
Line 154: Line 171:
 
#: <syntaxhighlight lang="bash">
 
#: <syntaxhighlight lang="bash">
 
$ ls -1 $WORK/proprietary/*.zip
 
$ ls -1 $WORK/proprietary/*.zip
R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20190722.zip
+
R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip
R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20190722.zip
+
R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
 
</syntaxhighlight>
 
</syntaxhighlight>
 
# Populate meta-renesas with proprietary software packages.
 
# Populate meta-renesas with proprietary software packages.
 
#: <syntaxhighlight lang="bash">
 
#: <syntaxhighlight lang="bash">
 
export PKGS_DIR=$WORK/proprietary
 
export PKGS_DIR=$WORK/proprietary
 +
cd $PKGS_DIR
 +
unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip
 +
unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
 
cd $WORK/meta-renesas
 
cd $WORK/meta-renesas
sh meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh -f $PKGS_DIR
+
sh meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh -f $PKGS_DIR
 
unset PKGS_DIR
 
unset PKGS_DIR
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 171: Line 191:
 
# Prepare default configuration files.
 
# Prepare default configuration files.
 
#: <syntaxhighlight lang="bash">
 
#: <syntaxhighlight lang="bash">
# [m3ulcb]
+
cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/<h3ulcb|m3ulcb>/poky-gcc/gfx-only/*.conf ./conf/
cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/mmp/*.conf ./conf/
 
# [h3ulcb]
 
# cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/mmp/*.conf ./conf/
 
 
cd $WORK/build
 
cd $WORK/build
 
cp conf/local-wayland.conf conf/local.conf
 
cp conf/local-wayland.conf conf/local.conf
Line 181: Line 198:
 
#::<syntaxhighlight lang="bash">$WORK/meta-rcar/meta-rcar-gen3-adas/docs/sample/conf/</syntaxhighlight>
 
#::<syntaxhighlight lang="bash">$WORK/meta-rcar/meta-rcar-gen3-adas/docs/sample/conf/</syntaxhighlight>
 
# (Edit $WORK/build/conf/local.conf to enable/disable graphics and multimedia proprietary drivers support)
 
# (Edit $WORK/build/conf/local.conf to enable/disable graphics and multimedia proprietary drivers support)
# Edit local.conf with evaluation packages requirements:
 
#: <syntaxhighlight lang="bash">
 
DISTRO_FEATURES_append = " use_eva_pkg"
 
</syntaxhighlight>
 
 
# Add layer meta-rcar
 
# Add layer meta-rcar
 
#: <syntaxhighlight lang="bash">
 
#: <syntaxhighlight lang="bash">
Line 200: Line 213:
 
# Bitbake has generated all the necessary files in ./tmp/deploy/images directory. <br/>You can verify its content:
 
# Bitbake has generated all the necessary files in ./tmp/deploy/images directory. <br/>You can verify its content:
 
#: <syntaxhighlight lang="bash">
 
#: <syntaxhighlight lang="bash">
$ ls -1 `find ./tmp/deploy/images/m3ulcb/ -maxdepth 1 -type l -print`
+
$ ls -1 `find ./tmp/deploy/images/h3ulcb/ -maxdepth 1 -type l -print`
./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.cpio.gz
+
./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.ext4
./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.ext4
+
./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.manifest
./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.manifest
+
./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.tar.bz2
./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.tar.bz2
+
./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.tar.gz
./tmp/deploy/images/m3ulcb/Image
+
./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.testdata.json
./tmp/deploy/images/m3ulcb/Image-m3ulcb.bin
+
./tmp/deploy/images/h3ulcb/Image
./tmp/deploy/images/m3ulcb/Image-r8a7796-m3ulcb-kf.dtb
+
./tmp/deploy/images/h3ulcb/Image-h3ulcb.bin
./tmp/deploy/images/m3ulcb/modules-m3ulcb.tgz
+
./tmp/deploy/images/h3ulcb/modules-h3ulcb.tgz
./tmp/deploy/images/m3ulcb/u-boot.bin
+
./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb.dtb
./tmp/deploy/images/m3ulcb/u-boot-elf-m3ulcb.srec
+
./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb-h3ulcb.dtb
./tmp/deploy/images/m3ulcb/u-boot-elf.srec
+
./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb-kf.dtb
./tmp/deploy/images/m3ulcb/u-boot-m3ulcb.bin
+
./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb-kf-h3ulcb.dtb
 +
./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g.dtb
 +
./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g-h3ulcb.dtb
 +
./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g-kf.dtb
 +
./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g-kf-h3ulcb.dtb
 +
./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb.dtb
 +
./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-h3ulcb.dtb
 +
./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-kf.dtb
 +
./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-kf-h3ulcb.dtb
 +
./tmp/deploy/images/h3ulcb/u-boot.bin
 +
./tmp/deploy/images/h3ulcb/u-boot.bin-r8a7795_h3ulcb
 +
./tmp/deploy/images/h3ulcb/u-boot.bin-r8a7795_h3ulcb-4x2g
 +
./tmp/deploy/images/h3ulcb/u-boot-elf-h3ulcb-4x2g.srec
 +
./tmp/deploy/images/h3ulcb/u-boot-elf-h3ulcb.srec
 +
./tmp/deploy/images/h3ulcb/u-boot-h3ulcb.bin
 +
./tmp/deploy/images/h3ulcb/u-boot-h3ulcb.bin-r8a7795_h3ulcb
 +
./tmp/deploy/images/h3ulcb/u-boot-h3ulcb.bin-r8a7795_h3ulcb-4x2g
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-gmsl2.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-gmsl2-h3ulcb.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-pca.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-pca-h3ulcb.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-cn11.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-gmsl2.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-gmsl2-h3ulcb.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-h3ulcb.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-pca.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-pca-h3ulcb.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-most.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-most-h3ulcb.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-panel-koe-tx31d200vm0baa-1280x480.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-panel-koe-tx31d200vm0baa-1280x480-h3ulcb.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa104xd12-1024x768.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa104xd12-1024x768-h3ulcb.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa121td01-1280x800.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa121td01-1280x800-h3ulcb.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-sd3.dtbo
 +
./tmp/deploy/images/h3ulcb/ulcb-kf-sd3-h3ulcb.dtbo
 
</syntaxhighlight>
 
</syntaxhighlight>
#: '''Image''' is a Kernel image, '''*.dtb''' is a blob file,  '''core-image-weston-m3ulcb.tar.bz2''' is the rootfs, '''modules-m3ulcb.tgz''' are kernel modules.
+
#: '''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.
 
# You can now proceed with running Yocto images
 
# You can now proceed with running Yocto images
==== Build with MOST ====
 
MOST and GPS share the same R-Car SoC pins and GPS is used by default.</br>
 
In order to use MOST one need to perform h/w modifications on KF board:
 
<syntaxhighlight lang="text">
 
- M04, M05
 
move resistor from R661 -> R660
 
move resistor from R663 -> R662
 
- M06
 
Slide SW7 to "MOST" side.
 
</syntaxhighlight>
 
 
==== Build with SD3 (CN47) ====
 
SD3 and WIFI share the same R-Car SoC resource and WIFI is used by default.</br>
 
In order to use SD on CN47 instead WIFI add following option to local.conf:
 
<syntaxhighlight lang="text">
 
KF_ENABLE_SD3 = "1"
 
</syntaxhighlight>
 
 
==== Build with LVDS panel(CN49) ====
 
Yocto v3.13.0 or later supports the following LVDS panels.
 
<syntaxhighlight lang="text">
 
BD101LCC1 - Boundary Devices BD101LCC1 1280x800 panels [default]
 
TX31D200VM0BAA - KOE TX31D200VM0BAA 1280x480 panel
 
AA104XD12 - Mitsubishi AA104XD12 1024x768 panel
 
AA121TD01 - Mitsubishi AA121TD01 1280x800 panel
 
</syntaxhighlight>
 
How to select:
 
: Add following option to local.conf:
 
<syntaxhighlight lang="text">
 
KF_PANEL_MODEL = "TX31D200VM0BAA"
 
or
 
KF_PANEL_MODEL = "AA104XD12"
 
or
 
KF_PANEL_MODEL = "AA121TD01"
 
</syntaxhighlight>
 
 
==== Build with CN11 ====
 
{{Note}}CN11 is available on kigfisher board + R-Car Starter Kit Premier(H3) only.<br/>
 
CN11 and CN29/48(CMOS/CSI) share the same R-Car SoC pins and CN29/CN48 is used by default.<br/>
 
In order to use CN11 instead CN29/48(CMOS/CSI), add following option to local.conf:
 
<syntaxhighlight lang=text>
 
KF_ENABLE_CN11 = "1"
 
</syntaxhighlight>
 
  
 
== Build SDK ==
 
== Build SDK ==
Line 269: Line 275:
 
:: Ex.) r8a7795-h3ulcb-kf.dtb
 
:: Ex.) r8a7795-h3ulcb-kf.dtb
 
: If you want to know the combinatation of the board and dtb file, please refer to [[R-Car/Boards/Yocto-Gen3-CommonFAQ/Which_dtb_file_is_required_to_boot_linux_on_the_R-Car_Starter_Kit_board_%3F | here]].
 
: If you want to know the combinatation of the board and dtb file, please refer to [[R-Car/Boards/Yocto-Gen3-CommonFAQ/Which_dtb_file_is_required_to_boot_linux_on_the_R-Car_Starter_Kit_board_%3F | here]].
 
== S/W support status ==
 
=== Support list ===
 
{| class="wikitable"
 
! Functions !! Status
 
|-
 
| WiFi || ok
 
|-
 
| Bluetooth || ok
 
|-
 
| Gyro || ok
 
|-
 
| GPS || ok
 
|-
 
| CAN || ok
 
|-
 
| LVDS Camera(CN10/CN11) || ok
 
|-
 
| CMOS Camera || ok
 
|-
 
| Raspberry Pi camera Rev 1.3 || ok
 
|-
 
| Raspberry Pi camera Rev 2 || ok
 
|-
 
| USB2.0(CN13) Host || ok
 
|-
 
| USB2.0(CN13) Func(g_mass_storage) || ok
 
|-
 
| USB3.0(CN2) Host || ok (H3 only)
 
|-
 
| Multichannel Audio || ok
 
|-
 
| HDMI Out || ok
 
|-
 
| LVDS Out || ok
 
|-
 
| Serial(CN4) || ok
 
|-
 
| Mini PCIe || ok
 
|-
 
| M.2 || ok
 
|-
 
| MOST || ok
 
|-
 
|}
 
 
Note:
 
: "ok" - Function succeeded in the simple test as below.
 
: "NT" - Function wasn't tested
 
 
=== How to test some capabilities ===
 
==== WiFi ====
 
To check wifi and scan available WAPs run:
 
: <syntaxhighlight lang="bash">
 
$ ifconfig wlan0 up
 
$ iwlist wlan0 scan
 
</syntaxhighlight>
 
 
==== Bluetooth ====
 
Ex 1)To check bluetooth and scan available BT devices run:
 
: <syntaxhighlight lang="bash">
 
$ hciconfig hci0 up
 
$ hcitool -i hci0 scan
 
</syntaxhighlight>
 
 
Ex 2)BT-Audio
 
: <syntaxhighlight lang="text">
 
root@h3ulcb:~# bluetoothctl
 
[NEW] Controller C8:DF:84:4C:84:98 h3ulcb [default]
 
Agent registered
 
[bluetooth]# power on
 
Changing power on succeeded
 
[bluetooth]# agent on
 
Agent is already registered
 
[bluetooth]# default-agent   
 
Default agent request successful
 
[bluetooth]# scan on
 
Discovery started
 
..(snip)..  !!! <-- Please look for taget device !!!
 
[bluetooth]# scan off
 
..(snip)..
 
[bluetooth]# pair <MAC address of target device>
 
..(snip)..
 
Request confirmation
 
[agent] Confirm passkey 285311 (yes/no): yes
 
..(snip)..
 
Pairing successful
 
[bluetooth]# connect <MAC address of target device>
 
..(snip)..
 
Connection successful
 
..(snip)..
 
[Target device name]# quit
 
</syntaxhighlight>
 
Please play music on target device.
 
 
==== Gyro ====
 
<syntaxhighlight lang="bash">
 
$ cat /sys/bus/iio/devices/iio\:device0/*_raw (Accelerometer, Magnetometer)
 
$ cat /sys/bus/iio/devices/iio\:device1/*_raw (Gyroscope)
 
</syntaxhighlight>
 
 
==== GPS ====
 
<syntaxhighlight lang="bash">
 
$ cat /dev/ttySC2 # (Yocto v3.x)
 
</syntaxhighlight>
 
 
==== CAN ====
 
Ex) loop back</br>
 
: Connect the following pins of CN17 and CN18:
 
:: <syntaxhighlight lang="text">
 
CN17 1pin - CN18 1pin
 
CN17 2pin - CN18 2pin
 
(*)Note: SW2 ON of KF. (defalt:ON)
 
</syntaxhighlight>
 
: <syntaxhighlight lang="bash">
 
$ ip link set can0 up type can bitrate 125000
 
$ ip link set can1 up type can bitrate 125000
 
$ candump can0&
 
$ cangen can1
 
can0  08D  [3]  B5 F4 3C
 
can0  34E  [3]  7C A1 70
 
can0  717  [6]  95 C5 67 4A 41 42
 
can0  7F1  [8]  CA B9 E9 3E AE 71 FC 52
 
</syntaxhighlight>
 
 
==== Serial ====
 
Ex) loop back</br>
 
: For KF M03: Connect the following pins on CN4:
 
:: <syntaxhighlight lang="text">
 
pin3(RxD) - pin5(TxD)
 
pin4(RTS) - pin6(CTS)
 
</syntaxhighlight>
 
: For KF M04 or later: Connect the following pins on CN4:
 
:: <syntaxhighlight lang="text">
 
pin2(TxD) - pin4(RxD)
 
pin1(RTS) - pin3(CTS)
 
</syntaxhighlight>
 
: <syntaxhighlight lang="bash">
 
$ stty -F /dev/ttySC3 -echo
 
$ stty -F /dev/ttySC3
 
speed 9600 baud; line = 0;
 
-brkint -imaxbel
 
-echo
 
$ cat /dev/ttySC3 &
 
$ echo  123435452345 > /dev/ttySC3
 
123435452345
 
</syntaxhighlight>
 
 
==== LVDS Camera ====
 
* <GMSL>
 
*: Camera board: GMSL02
 
*: Camera: IMI RDACM21-01 <-- This may be out of stock
 
*: Camera: Leopard Imaging LI-OV10635-GMSL
 
*: Camera: Entron S001A190CM0A (How to get) NEW
 
* <FPD Link>
 
*: Camera board: FPDL01
 
*: Camera: IMI RDACM24-01 <-- This may be out of stock
 
 
'''[Note]'''
 
: H3 can use CN10 and CN11
 
: M3 can use CN10
 
 
* When you use a Leopard Imaging camera, add some parameters to bootargs.
 
{| class="wikitable"
 
! Leopard Imagin camera type name !! bootargs
 
|-
 
| LI-OV10635-GMSL || ov106xx.dvp_order=0
 
|-
 
| S001A190CM0A   || max9286.him=1 max9286.vsync=0 max9286.fsync_period=2420000 max9286.crossbar=0x01234567
 
|-
 
| (IMI) RDACM21  ||
 
|-
 
|}
 
Ex1)
 
: <syntaxhighlight lang="bash">
 
$ killall weston
 
$ capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 1280 -H 1080 -c 1000 -z
 
</syntaxhighlight>
 
Ex2)
 
# RDACM21-01/RDACM24-1
 
#: <syntaxhighlight lang="bash">
 
$ gst-launch-1.0 v4l2src device=/dev/video0 io-mode=dmabuf ! video/x-raw,format=BGRA,width=1280,height=1080,framerate=30/1 ! waylandsink
 
</syntaxhighlight>
 
# LI-OV10635-GMSL
 
#: <syntaxhighlight lang="bash">
 
$ gst-launch-1.0 v4l2src device=/dev/video0 io-mode=dmabuf ! video/x-raw,format=BGRA,width=1280,height=800,framerate=30/1 ! waylandsink
 
</syntaxhighlight>
 
# S001A190CM0A
 
#: <syntaxhighlight lang="bash">
 
$ gst-launch-1.0 v4l2src device=/dev/video0 io-mode=dmabuf ! video/x-raw,format=BGRA,width=1280,height=728,framerate=30/1 ! waylandsink
 
</syntaxhighlight>
 
Ex3) 2 cameras
 
: <syntaxhighlight lang="bash">
 
$ killall weston
 
$ capture -D 2 -F -f rgb32 -L 160 -T 0 -W 960 -H 800 -c 1000 -z
 
</syntaxhighlight>
 
 
==== CMOS Camera ====
 
Ex)
 
:<syntaxhighlight lang="bash">
 
$ systemctl stop weston
 
$ capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 1280 -H 720 -c 1000 -t 60 -z
 
</syntaxhighlight>
 
 
==== Raspberry Pi camera Rev 1.3(OV5647) / 2(IMX219) ====
 
* In case of v2(IMX219)
 
*: Add the following option to local.conf:
 
*:: <syntaxhighlight lang="bash">KF_ENABLE_IMX219 = "1"</syntaxhighlight>
 
* Ex)
 
*:<syntaxhighlight lang="bash">
 
$ systemctl stop weston                                                               
 
$ capture -d /dev/video0 -o -f bggr8 -W 2592 -H 1944 -c 1 -t 30 > video.bggr
 
[ 2475.196942] rcar_csi2 fea80000.csi2: Timeout of reading the PHY clock lane
 
[ 2475.203851] rcar_csi2 fea80000.csi2: Timeout of reading the PHY data lane
 
</syntaxhighlight>
 
*:<syntaxhighlight lang="bash">
 
Ubuntu PC$ ./bayer2rgb  -i video.bggr -o video.rgb24 -w 2592 -v 1944 -b 8 -f BGGR
 
  * https://github.com/jdthomas/bayer2rgb.git
 
Ubuntu PC$ rawtoppm -rgb 2592 1944 video.rgb24 > video24.ppm
 
Ubuntu PC$ display video24.ppm
 
</syntaxhighlight>
 
 
==== Multichannel Audio ====
 
* Ex1) CN12/32/33 on KF
 
*: <syntaxhighlight lang="bash">
 
$ speaker-test -c 8 -t wav -W /usr/share/sounds/alsa/
 
$ arecord -c 6 -r 48000 -f S32_LE | aplay
 
</syntaxhighlight>
 
* Ex2)
 
*:<syntaxhighlight lang="bash">
 
<KF>
 
$ pactl set-default-sink pcm3168a_output
 
$ speaker-test -c 8 -t wav -W /usr/share/sounds/alsa/
 
<SK>
 
$ pactl set-default-sink ak4613_output
 
$ amixer -c 1 sset "DVC Out" 10%
 
$ speaker-test -c 2 -t wav -W /usr/share/sounds/alsa/
 
</syntaxhighlight>
 
* Ex3)
 
*:<syntaxhighlight lang="bash">
 
<KF>
 
$ paplay -d pcm3168a_output sample.wav
 
<SK>
 
$ amixer -c 1 sset "DVC Out" 10%
 
$ paplay -d ak4613_output sample.wav
 
</syntaxhighlight>
 
 
==== MOST ====
 
Ex)
 
# Connect OS81092 board(Physical+ Interface Board OS81092) and CN22 of KF.
 
# Connect Audio board(OS81092 Audio Demo Board) and OS819092 board with exclusive cable.
 
# Connect Audio board and CN5 of SK with USB cable.
 
# Run the linux kernel
 
# cd /usr/share/most/
 
# ./most_setup.sh
 
#: <syntaxhighlight lang="text">
 
$./most_setup.sh
 
--Setting up RX channel with MLB[  217.636328] aim_sound: PCM format is 16-bit stereo
 
addr 0x03 (0x06)--
 
--S[  217.642675] aim_sound: PCM format is 16-bit stereo
 
etting up TX channel wit[  217.649647] aim_sound: PCM format is 16-bit stereo
 
h MLB addr 0x04 (0x08)--
 
--Setting up TX channel with MLB addr 0x06 (0x0C)--
 
--Creating char devices--
 
--Creating ALSA devices--
 
</syntaxhighlight>
 
# ../setup-audio-50 &
 
#: <syntaxhighlight lang="text">
 
$./setup-audio-50 &
 
Configuration:
 
        Timing Slave (Audio Sink)
 
! ET_NS_MSVAL_ERROR a MSVAL Error is reported from the NS: 0x0010 MSVAL_ERR_STARTUP_FAILED
 
MSVAL_E_SHUTDOWN
 
App reset
 
MSVAL_E_SHUTDOWN
 
App reset
 
! ET_NS_MSVAL_ERROR a MSVAL Error is reported from the NS: 0x0011 MSVAL_ERR_STARTUP_BUSY
 
! ET_NS_MSVAL_ERROR a MSVAL Error is reported from the NS: 0x0011 MSVAL_ERR_STARTUP_BUSY
 
(snip)
 
</syntaxhighlight>
 
# Push the "Switch" button on the Audio board
 
#: <syntaxhighlight lang="text">
 
-> MostAllowRemoteAccess(allow)
 
-> SourceInfo.Status 1 (Inst_ID: 0x1, FB: 0x24, Adr: 0x400)
 
-> SourceInfo.Status 2 (Inst_ID: 0x1, FB: 0x24, Adr: 0x400)
 
-> Amplifier.Volume.Set 100
 
</syntaxhighlight>
 
# Push the "Switch" button on the Audio board again
 
#: <syntaxhighlight lang="text">
 
<- FB_AuxIn_Allocate_StartResult Node: 0x01, Ifn: 0x02
 
</syntaxhighlight>
 
# Push the "Switch" button on the Audio board again
 
#: <syntaxhighlight lang="text">
 
<- FB_AuxIn_Allocate_StartResult Node: 0x01, Ifn: 0x01
 
</syntaxhighlight>
 
# ./most_play.sh ${PATH}/hoge.mp3 5
 
#: <syntaxhighlight lang="text">
 
$./most_play.sh /home/root/hoge.mp3 5
 
Setting pipeline to PAUSED ...
 
Pipeline is PREROLLING ...
 
Redistribute latency...
 
Pipeline is PREROLLED ...
 
Setting pipeline to PLAYING ...
 
New clock: GstAudioSinkClock
 
</syntaxhighlight>
 
 
==== Radio ====
 
Ex) FM Radio<br>
 
: If radio module is used for the first time, updating radio module firmware is required.
 
: Updating firmware is not required after the second time.
 
: <syntaxhighlight lang="bash">
 
$ si_init
 
$ si_firmware_update ( Update firmware of radio module.)
 
$ si_fm
 
$ si_preset <FM Radio frequency> ( In Tokyo, Japan, 91600 is Nippon Cultural Broadcasting. )
 
</syntaxhighlight>
 
 
==== M.2 ====
 
Ex) Transcend TS128GMTE850<br>
 
: <syntaxhighlight lang="text">
 
$ dmesg|grep nvme<br>
 
[    1.646158] nvme nvme0: pci function 0000:01:00.0<br>
 
[    1.650890] nvme 0000:01:00.0: enabling device (0000 -> 0002)<br>
 
[    2.563406]  nvme0n1: p1 p2<br>
 
$ mount /dev/nvme0n1p1 /mnt/
 
</syntaxhighlight>
 
 
==== mPCI ====
 
Ex) Intel 512AN-MMW<br>
 
: <syntaxhighlight lang="text">
 
1) Enable the following kernel config.
 
Device Drivers→ Network device support→ Wireless LAN
 
  <M> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
 
  <M>  Intel Wireless WiFi DVM Firmware support
 
  <M>  Intel Wireless WiFi MVM Firmware support
 
</syntaxhighlight>
 
2) bitbake<br>
 
3) How to run<br>
 
: <syntaxhighlight lang="bash">
 
$ ifconfig wlP1p1s0 up
 
[  274.370095] iwlwifi 0001:01:00.0: Radio type=0x1-0x2-0x0<br>
 
[  274.503903] iwlwifi 0001:01:00.0: Radio type=0x1-0x2-0x0<br>
 
[  274.544834] IPv6: ADDRCONF(NETDEV_UP): wlP1p1s0: link is not ready<br>
 
$ iwlist wlP1p1s0 scan
 
wlP1p1s0  Scan completed :
 
  Cell 01 - Address: xx:xx:xx:xx:xx:xx:
 
    (snip)
 
</syntaxhighlight>
 
 
 
==== Video Playback (H.264 decoding) ====
 
Ex1) Video playback
 
: <syntaxhighlight lang="bash">
 
$ gst-launch-1.0 filesrc location=filename.mp4 ! qtdemux ! queue ! h264parse ! omxh264dec ! waylandsink
 
</syntaxhighlight>
 
Ex2) Video playback with audio
 
: <syntaxhighlight lang="bash">
 
$ gst-launch-1.0 filesrc location=filename.mp4 ! qtdemux name=demux demux.audio_0 ! queue ! omxaaclcdec ! alsasink demux.video_0 ! queue ! h264parse ! omxh264dec ! waylandsink
 
</syntaxhighlight>
 
  
 
== Q&A site ==
 
== Q&A site ==

Revision as of 00:02, 20 October 2020


Introduction

This page contains information on building and running Yocto on:

18px <translate> Note:</translate> This version does not support Wayland/weston and Multimedia Packages.

Topic

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.4 (stable) [New!!] 2024/03/28
Kingfisher Infotainment Board Yocto v5.9.0 (stable) 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) 2022/02/08 Prebuilt binary is available in Quick startup guide page. (Updated on 2022/03/18)


Kingfisher Board Stock Information

  • Global Disty(Shimafuji Electric Incorporated) : Available
  • Japan Disty (Marutsuelec Co.,Ltd.) : Available
    • Click here for detail

    New Camera Support

  • Yocto v3.21.0 or later support the Entron S001A190CM0A camera.
    • Please refer to FAQ for how to purchase.

    Yocto versions

    Poky-3.0.2 is supported with Yocto v4.1.0.
    Specific commit of meta-openembedded is required.

    Host PC

    Ubuntu 16.04 LTS (64bit) is recommended as OS. 32bit version is not supported.

    Required packages

    1. Download evaluation version of proprietary graphics package from Renesas.
      To download Graphics library and related Linux drivers, please use the following link:
      Download two files:
      • R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip
      • R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
    2. Install required packages
      Ubuntu and Debian
      sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
           build-essential chrpath socat libsdl1.2-dev xterm python-crypto cpio python python3 \
           python3-pip python3-pexpect xz-utils debianutils iputils-ping libssl-dev
      
      Fedora
      sudo yum 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 \
           SDL-devel xterm python-crypto cpio python python3 python3-pip python3-pexpect \
           ghc-lzma-conduit iputils openssl
      
      Refer to Yocto Project Quick Start for more information.

    Building the BSP for Kingfisher

    Build using script

    1. Directory Structure
      |--build.sh
      `--proprietary
         |--R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip
         `--R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
      
    2. Build script(build.sh)
      #!/bin/bash
      
      BOARD_LIST=("h3ulcb" "m3ulcb")
      TARGET_BOARD=$1
      PROPRIETARY_DIR=`pwd`/proprietary
      WORK=`pwd`/${TARGET_BOARD}
      
      Usage () {
          echo "Usage: $0 \${TARGET_BOARD_NAME}"
          echo "BOARD_NAME list: "
          for i in ${BOARD_LIST[@]}; do echo "  - $i"; done
          exit
      }
      
      # Check Param.
      if ! `IFS=$'\n'; echo "${BOARD_LIST[*]}" | grep -qx "${TARGET_BOARD}"`; then
          Usage
      fi
      
      # Create a directory and switch to it
      mkdir -p ${WORK}
      cd ${WORK}
      
      # Clone basic Yocto layers in parallel
      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/CogentEmbedded/meta-rcar.git &
      
      # Wait for all clone operations
      wait
      
      # Switch to proper branches/commits
      cd ${WORK}/poky
      git checkout -b tmp 5e1f52edb7a9f790fb6cb5d96502f3690267c1b1
      cd ${WORK}/meta-openembedded
      git checkout -b tmp 9e60d30669a2ad0598e9abf0cd15ee06b523986b
      cd ${WORK}/meta-renesas
      git checkout -b tmp f6ccae7cfb669937aac221ff5cb6a13b36eff951
      cd $WORK/meta-rcar
      git checkout -b v4.1.0 remotes/origin/v4.1.0
      
      # Populate meta-renesas with proprietary software packages
      cd ${WORK}/../proprietary
      unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip
      unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
      cd ${WORK}/meta-renesas
      sh meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh -f ${WORK}/../proprietary
      
      cd ${WORK}
      source poky/oe-init-build-env ${WORK}/build
      
      #cp ${WORK}/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/bsp/*.conf ./conf/
      cp ${WORK}/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/gfx-only/*.conf ./conf/
      #cp ${WORK}/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/mmp/*.conf ./conf/
      
      cd ${WORK}/build
      cp conf/local-wayland.conf conf/local.conf
      
      bitbake-layers add-layer ../meta-rcar/meta-rcar-gen3-adas
      bitbake core-image-weston
      
    3. build
      ./build.sh <target_board_name>
      
      If the build completes successfully, all the necessary files are generated in a following directory:
      ./<target_board_name>/build/tmp/deploy/images/<target_board_name>
      

    Build using 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
      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/CogentEmbedded/meta-rcar.git
      
    3. Switch to proper branches/commits
      cd $WORK/poky
      git checkout -b tmp 5e1f52edb7a9f790fb6cb5d96502f3690267c1b1
      cd $WORK/meta-openembedded
      git checkout -b tmp 9e60d30669a2ad0598e9abf0cd15ee06b523986b
      cd $WORK/meta-renesas
      git checkout -b tmp f6ccae7cfb669937aac221ff5cb6a13b36eff951
      cd $WORK/meta-rcar
      git checkout -b v4.1.0 remotes/origin/v4.1.0
      
      Another versions are not tested for compatibility.
      Legacy BSP instruction can be found here R-Car Kingfisher Yocto Gen3 legacy
    4. Download proprietary driver modules to $WORK/proprietary folder
      You should see the following files:
      $ ls -1 $WORK/proprietary/*.zip
      R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip
      R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
      
    5. 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-20200910.zip
      unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
      cd $WORK/meta-renesas
      sh meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh -f $PKGS_DIR
      unset PKGS_DIR
      
    6. Setup build environment
      cd $WORK
      source poky/oe-init-build-env $WORK/build
      
    7. Prepare default configuration files.
      cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/<h3ulcb|m3ulcb>/poky-gcc/gfx-only/*.conf ./conf/
      cd $WORK/build
      cp conf/local-wayland.conf conf/local.conf
      
      NOTE: extra configuration examples are available in the following directory:
      $WORK/meta-rcar/meta-rcar-gen3-adas/docs/sample/conf/
      
    8. (Edit $WORK/build/conf/local.conf to enable/disable graphics and multimedia proprietary drivers support)
    9. Add layer meta-rcar
      bitbake-layers add-layer ../meta-rcar/meta-rcar-gen3-adas
      
    10. Start the build
      bitbake core-image-weston
      
    11. 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.
    12. 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`
      ./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.ext4
      ./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.manifest
      ./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.tar.bz2
      ./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.tar.gz
      ./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.testdata.json
      ./tmp/deploy/images/h3ulcb/Image
      ./tmp/deploy/images/h3ulcb/Image-h3ulcb.bin
      ./tmp/deploy/images/h3ulcb/modules-h3ulcb.tgz
      ./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb.dtb
      ./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb-h3ulcb.dtb
      ./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb-kf.dtb
      ./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb-kf-h3ulcb.dtb
      ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g.dtb
      ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g-h3ulcb.dtb
      ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g-kf.dtb
      ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g-kf-h3ulcb.dtb
      ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb.dtb
      ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-h3ulcb.dtb
      ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-kf.dtb
      ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-kf-h3ulcb.dtb
      ./tmp/deploy/images/h3ulcb/u-boot.bin
      ./tmp/deploy/images/h3ulcb/u-boot.bin-r8a7795_h3ulcb
      ./tmp/deploy/images/h3ulcb/u-boot.bin-r8a7795_h3ulcb-4x2g
      ./tmp/deploy/images/h3ulcb/u-boot-elf-h3ulcb-4x2g.srec
      ./tmp/deploy/images/h3ulcb/u-boot-elf-h3ulcb.srec
      ./tmp/deploy/images/h3ulcb/u-boot-h3ulcb.bin
      ./tmp/deploy/images/h3ulcb/u-boot-h3ulcb.bin-r8a7795_h3ulcb
      ./tmp/deploy/images/h3ulcb/u-boot-h3ulcb.bin-r8a7795_h3ulcb-4x2g
      ./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-gmsl2.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-gmsl2-h3ulcb.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-pca.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-pca-h3ulcb.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-gmsl2.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-gmsl2-h3ulcb.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-h3ulcb.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-pca.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-pca-h3ulcb.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-most.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-most-h3ulcb.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-koe-tx31d200vm0baa-1280x480.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-koe-tx31d200vm0baa-1280x480-h3ulcb.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa104xd12-1024x768.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa104xd12-1024x768-h3ulcb.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa121td01-1280x800.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa121td01-1280x800-h3ulcb.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-sd3.dtbo
      ./tmp/deploy/images/h3ulcb/ulcb-kf-sd3-h3ulcb.dtbo
      
      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.
    13. You can now proceed with running Yocto images

    Build SDK

    Refer to Build SDK on the Yocto-Gen3 page.

    Running Yocto images

    Refer to Running Yocto images on the Yocto-Gen3 page.
    [NOTE]

    DTB filename for Kingfisher contains suffix "-kf".
    Ex.) r8a7795-h3ulcb-kf.dtb
    If you want to know the combinatation of the board and dtb file, please refer to here.

    Q&A site

    http://renesasrulz.com/r-car-h3-m3-cockpit/

    FAQ page

    https://elinux.org/R-Car/Boards/Yocto-Gen3-CommonFAQ

    FAQ

    Failed to DRAM initialize (-1).

    If you face the following error please update(*) IPL and u-boot to the latest version.

    NOTICE:  BL2: R-Car Gen3 Initial Program Loader(CA57) Rev.1.0.12
    NOTICE:  BL2: PRR is R-Car M3 ES1.0
    NOTICE:  BL2: Boot device is HyperFlash(80MHz)
    NOTICE:  BL2: LCM state is CM
    NOTICE:  BL2: AVS setting succeeded. DVFS_SetVID=0x52
    NOTICE:  BL2: DDR3200(rev.0.20)[COLD_BOOT]..1
    NOTICE:  BL2: Failed to DRAM initialize (-1).
    ERROR:   
    ERROR:   BL2: System WDT overflow, occurred address is 0xe630d3cc
    

    (*)How to update

    http://elinux.org/R-Car/Boards/Kingfisher#How_to_update_of_Sample_Loader_and_MiniMonitor
    http://elinux.org/R-Car/Boards/M3SK#Flashing_firmware
    http://elinux.org/R-Car/Boards/H3SK#Flashing_firmware

    How to get the SA001 Camera

    Refer to R-Car/Boards/Kingfisher#How_to_get_the_SA001_Camera.

    Known issues and limitations

    1. Refer to R-Car/Boards/Kingfisher#Known_Issues.