|
|
Line 1: |
Line 1: |
− | {{TOC right}}
| |
− | This page contains information on building and running Yocto on [[R-Car/Boards/Salvator-X | Renesas R-Car H3 Salvator-X]], [[R-Car/Boards/Salvator-X-View | Renesas R-Car H3 Salvator-X.View]], [[R-Car/Boards/H3ULCB | Renesas R-Car H3 H3ULCB]], [[R-Car/Boards/H3ULCB-View | Renesas R-Car H3 H3ULCB.View]] and [[R-Car/Boards/H3ULCB-HAD | Renesas R-Car H3 H3ULCB.HAD]] boards.
| |
| | | |
− | == Yocto versions ==
| |
− | [http://git.yoctoproject.org/cgit/cgit.cgi/poky/tag/?id=yocto-2.0.1 Poky-2.0.1] is supported. Specific commit of meta-openembedded is required.
| |
− |
| |
− | == Preliminary steps ==
| |
− | <ol>
| |
− | <li>Download proprietary graphics and multimedia drivers from Renesas. Evaluation version is available at http://www.renesas.com/secret/r_car_download/rcar_demoboard.jsp<br/>
| |
− | Graphic drivers are required for X11 and Wayland. Multimedia drivers are optional.<br/>
| |
− | <br/>
| |
− | </li>
| |
− |
| |
− | <li> Install required packages
| |
− | ===== Ubuntu and Debian =====
| |
− | <pre>
| |
− | sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
| |
− | build-essential chrpath socat libsdl1.2-dev xterm python-crypto
| |
− | </pre>
| |
− | ===== Fedora =====
| |
− | <pre>
| |
− | 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
| |
− | </pre>
| |
− | Refer to [http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html#packages Yocto Project Quick Start] for more information.
| |
− | </li>
| |
− | </ol>
| |
− |
| |
− | == Building the BSP for Renesas R-Car Salvator-X, Salvator-X.View, H3ULCB, H3ULCB.View and H3ULCB.HAD ==
| |
− | <ol>
| |
− | <li>Create a directory and switch to it <br/>
| |
− | Warning! Yocto builds require a lot of disk space (up to 100 GB). Make sure you have got enough before starting the build.
| |
− | <pre>
| |
− | mkdir build
| |
− | cd build
| |
− | export WORK=`pwd`
| |
− | </pre>
| |
− | </li>
| |
− | <li>Clone basic Yocto layers:
| |
− | <pre>
| |
− | cd $WORK
| |
− | git clone git://git.yoctoproject.org/poky
| |
− | git clone git://git.openembedded.org/meta-openembedded
| |
− | git clone git://git.linaro.org/openembedded/meta-linaro.git
| |
− | </pre>
| |
− | </li>
| |
− | <li>
| |
− | Switch to proper branches/commits
| |
− | <pre>
| |
− | cd $WORK/poky
| |
− | git checkout -b tmp 65306b0bfc1afd0de9b1d470fd78c8c69f55f791
| |
− | cd $WORK/meta-openembedded
| |
− | git checkout -b tmp cb7e68f2a39fa6f24add48fc7b8d38fb7291bb44
| |
− | cd $WORK/meta-linaro
| |
− | git checkout -b tmp acf4f1f701e07670ec88435897a74f88dbe8ba87
| |
− |
| |
− | </pre>
| |
− | Another versions are not tested for compatibility.
| |
− | </li>
| |
− |
| |
− | <li>
| |
− | Clone Renesas BSP layer and switch to the proper branch:
| |
− | <pre>
| |
− | cd $WORK
| |
− | git clone git://github.com/CogentEmbedded/meta-renesas-gen3.git meta-renesas
| |
− | </pre>
| |
− | </li>
| |
− | <li>
| |
− | Apply Linaro-GCC patch file:
| |
− | <pre>
| |
− | cd $WORK/meta-renesas
| |
− | export PATCH_DIR=meta-rcar-gen3/docs/sample/patch/patch-for-linaro-gcc
| |
− | patch -p1 < ${PATCH_DIR}/0001-rcar-gen3-add-readme-for-building-with-Linaro-Gcc.patch
| |
− | unset PATCH_DIR
| |
− | </pre>
| |
− | </li>
| |
− | <li>
| |
− | Download proprietary driver modules from http://www.renesas.com/secret/r_car_download/rcar_demoboard.jsp and unzip them to $WORK/proprietary folder.<br/>
| |
− | You should see the following files:
| |
− | <pre>
| |
− | $ ls -1 $WORK/proprietary
| |
− | R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20160526.tar.gz
| |
− | R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20160526.tar.gz
| |
− | </pre>
| |
− | </li>
| |
− | <li>
| |
− | Populate meta-renesas with proprietary software packages.
| |
− | <pre>
| |
− | PKGS_DIR=$WORK/proprietary
| |
− | cd $WORK/meta-renesas
| |
− | sh meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh -f $PKGS_DIR
| |
− | </pre>
| |
− | </li>
| |
− |
| |
− | <li>
| |
− | Setup build environment
| |
− | <pre>
| |
− | cd $WORK
| |
− | source poky/oe-init-build-env
| |
− | </pre>
| |
− | </li>
| |
− |
| |
− | <li>
| |
− | Prepare default configuration files.
| |
− | <pre>
| |
− | cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/<salvator-x|h3ulcb>/linaro-gcc/mmp/*.conf ./conf/
| |
− | </pre>
| |
− | For weston/wayland:
| |
− | <pre>
| |
− | cd $WORK/build
| |
− | cp conf/local-wayland.conf conf/local.conf
| |
− | </pre>
| |
− | For X11:
| |
− | <pre>
| |
− | cd $WORK/build
| |
− | cp conf/local-x11.conf conf/local.conf
| |
− | </pre>
| |
− | <li>
| |
− | Edit $WORK/build/conf/local.conf to enable/disable graphics and multimedia proprietary drivers support
| |
− | </li>
| |
− | '''For H3ULCB board only:'''<br />
| |
− |
| |
− | <ol>
| |
− | <li>
| |
− | Edit local.conf to select IO configuration (by default only H3ULCB board peripherals are enabled):
| |
− | <pre>
| |
− | MACHINE_FEATURES_append = " h3ulcb-view" (use this append for View IO configuration)
| |
− | </pre>
| |
− | or
| |
− | <pre>
| |
− | MACHINE_FEATURES_append = " h3ulcb-had" (use this append for HAD IO configuration)
| |
− | </pre>
| |
− | </li>
| |
− | </ol>
| |
− |
| |
− | </li>
| |
− | '''For Salvator-X board only:'''<br />
| |
− |
| |
− | <ol>
| |
− | <li>
| |
− | Edit local.conf to select IO configuration (by default only Salvator-X board peripherals are enabled):
| |
− | <pre>
| |
− | MACHINE_FEATURES_append = " salvator-x-view" (use this append for View IO configuration)
| |
− | </pre>
| |
− | </li>
| |
− | </ol>
| |
− |
| |
− | </li>
| |
− |
| |
− | <li>
| |
− | Edit local.conf to build only lib64, since evaluation packages do not include lib32 support:
| |
− | <pre>
| |
− | IMAGE_INSTALL_remove += " lib32-weston lib32-packagegroup-multimedia-libs lib32-omx-user-module lib32-libdrm lib32-libdrm-kms lib32-gles-user-module"
| |
− | </pre>
| |
− | </li>
| |
− |
| |
− | <li>
| |
− | Start the build <br />
| |
− | For weston/wayland:
| |
− | <pre>
| |
− | bitbake core-image-weston
| |
− | </pre>
| |
− | For X11:
| |
− | <pre>
| |
− | bitbake core-image-x11
| |
− | </pre>
| |
− | </li>
| |
− |
| |
− | <li>
| |
− | Building image can take upto a few hours depending on your host system performance.<br>
| |
− | After the build has been completed successfuly, you should see the output similar to:
| |
− | <pre class="bash">
| |
− | NOTE: Tasks Summary: Attempted 4704 tasks of which 31 didn't need to be rerun and all succeeded.
| |
− | </pre>
| |
− | and the command prompt should return.
| |
− | </li>
| |
− |
| |
− | <li>
| |
− | Bitbake has generated all the necessary files in ./tmp/deploy/images directory. <br/>
| |
− | You can verify its content:
| |
− | <pre class="bash">
| |
− | $ ls -1 `find ./tmp/deploy/images/h3ulcb/ -maxdepth 1 -type l -print`
| |
− | ./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.cpio.gz
| |
− | ./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/Image
| |
− | ./tmp/deploy/images/h3ulcb/Image-h3ulcb.bin
| |
− | ./tmp/deploy/images/h3ulcb/Image-r8a7795-h3ulcb.dtb
| |
− | ./tmp/deploy/images/h3ulcb/Image-r8a7795-h3ulcb-had.dtb
| |
− | ./tmp/deploy/images/h3ulcb/Image-r8a7795-h3ulcb-view.dtb
| |
− | ./tmp/deploy/images/h3ulcb/modules-h3ulcb.tgz
| |
− | ./tmp/deploy/images/h3ulcb/u-boot.bin
| |
− | ./tmp/deploy/images/h3ulcb/u-boot-elf-h3ulcb.srec
| |
− | ./tmp/deploy/images/h3ulcb/u-boot-elf.srec
| |
− | ./tmp/deploy/images/h3ulcb/u-boot-h3ulcb.bin
| |
− | </pre>
| |
− | '''Image''' is a Kernel image, '''*.dtb''' is a blob file, '''core-image-weston-h3ulcb.tar.bz2''' is the rootfs, '''modules-h3ulcb.tgz''' are kernel modules.
| |
− | </li>
| |
− | <li>
| |
− | You can now [[R-Car/Boards/H3ULCB#Booting over TFTP from U-Boot|boot R-Car H3 H3ULCB board over TFTP and NFS]]
| |
− | </li>
| |
− | </ol>
| |
− |
| |
− | == Known issues and limitations ==
| |
− | TBD
| |