Copyright 2016 RDK Management, LLC. All rights reserved. The contents of this document are RDK Management, LLC Proprietary and Confidential and may not be distributed or otherwise disclosed without prior written permission of RDK Management, LLC.


Host Setup

The OpenEmbedded build system should be able to run on any modern distribution with the following versions for Git, tar, and Python.


Note: You should also have about 50 Gbytes of free disk space for building images.


Ubuntu and Debian

The essential packages you need for a supported Ubuntu or Debian distribution are shown in the following command

$ sudo apt-get install make gcc g++ diffstat texinfo chrpath gcc-multilib git gawk build-essential autoconf libtool libncurses-dev gettext gperf lib32z1 libc6-i386 g++-multilib python-git


Building

In order to use Yocto build system, the repo tool must be properly installed on the machine.


Repo setup

In order to install Repo make sure you have a /bin directory in your home directory and that it is included in your path

$ mkdir ~/bin

$ PATH=~/bin:$PATH

Download the repo tool and ensure that it is executable

$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

$ chmod a+x ~/bin/repo


Note: it is also recommended to put credentials in .netrc when interacting with repo.

A sample .netrc file is illustrated below


machine code.rdkcentral.com

login YOUR_USERNAME

password YOUR_PASSWORD


Initilaizing the Build Environment

To build the image, follow below instructions

$ mkdir <workspace dir>

$ cd <workspace dir>

$ repo init -u https://code.rdkcentral.com/r/manifests -m rdkv-raspberrypi.xml -b morty

$ repo sync -j4 --no-clone-bundle


Choose hybrid to build image with default compositor

$ source meta-cmf-raspberrypi/setup-environment <select option raspberrypi-rdk-hybrid.conf>

$ bitbake rdk-generic-hybrid-wpe-image


Choose hybrid-westeros to build image with westeros compositor

$ source meta-cmf-raspberrypi/setup-environment <select option raspberrypi-rdk-hybrid-westeros.conf>

$ bitbake rdk-generic-hybrid-westeros-wpe-image


#To build RDK-DEV-1904 follow the below build procedure

$ mkdir <workspace dir>

$ cd <workspace dir>

for Non-ASP:
$ repo init -u https://code.rdkcentral.com/r/manifests -b rdk-dev-1904 -m rdkv-extsrc.xml

for ASP:

$ repo init -u https://code.rdkcentral.com/r/manifests -b rdk-dev-1904 -m rdkv-asp-extsrc.xml

$ repo sync -j4 --no-clone-bundle

#To build rdk-next follow the below build procedure

$ repo init -u https://code.rdkcentral.com/r/manifests -b rdk-next -m rdkv-extsrc.xml

for ASP:

$ repo init -u https://code.rdkcentral.com/r/manifests -b rdk-next -m rdkv-asp-extsrc.xml

$ repo sync -j4 --no-clone-bundle

Choose hybrid to build image with default compositor

$ source meta-cmf-raspberrypi/setup-environment <select option raspberrypi-rdk-hybrid.conf>

$ bitbake rdk-generic-hybrid-wpe-image

for TDK-image

$ bitbake rdk-generic-hybrid-wpe-tdk-image


Choose hybrid-westeros to build image with westeros compositor

$ source meta-cmf-raspberrypi/setup-environment <select option raspberrypi-rdk-hybrid-westeros.conf>

$ bitbake rdk-generic-hybrid-westeros-wpe-image

for TDK-image

$ bitbake rdk-generic-hybrid-westeros-wpe-tdk-image



Note: The Kernel image and root filesystem will be created under ./ build-raspberrypi-rdkmc/tmp/deploy/images/raspberrypi-rdk-mc folder