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

Refer to the below link for Host Machine Setup

How to Build#SettinguptheHostEnvironment

Yocto Build Setup

All RPi based RDK images with the latest features are from the rdk-next branch

Initializing the Build Environment

To build RDK images from rdk-next branch, follow the below build procedure

mkdir workspace
cd workspace

# initialize the manifest with repo tool
repo init -u https://code.rdkcentral.com/r/manifests -b rdk-next -m rdkv-nosrc.xml

repo sync -j `nproc` --no-clone-bundle --no-tags
mkdir workspace
cd workspace

# initialize the manifest with repo tool
repo init -u https://code.rdkcentral.com/r/manifests -b rdk-next -m rdkv-extsrc.xml

repo sync -j `nproc` --no-clone-bundle --no-tags

To build the image from the development branch, the respective sprint month's development branch to be chosen and follow the below build procedure

For example to take development branch of September 2020, the rdk-dev-2009 branch to be used

mkdir workspace
cd workspace

# initialize the manifest with repo tool
repo init -u https://code.rdkcentral.com/r/manifests -b rdk-dev-2009 -m rdkv-nosrc.xml

repo sync -j `nproc` --no-clone-bundle --no-tags
# displaying reboot info fix for REFPLTV-655
(cd meta-cmf-raspberrypi; git fetch "https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-cmf-raspberrypi" refs/changes/35/49835/1 && git cherry-pick FETCH_HEAD)
# fix for UI launch on bootup
(cd meta-cmf-raspberrypi; git fetch "https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-cmf-raspberrypi" refs/changes/69/49869/1 && git cherry-pick FETCH_HEAD)
(cd meta-cmf-raspberrypi; git fetch "https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-cmf-raspberrypi" refs/changes/70/49870/1 && git cherry-pick FETCH_HEAD)
# equalizing generic-image and generic-wpe-image
(cd meta-cmf-raspberrypi; git fetch "https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-cmf-raspberrypi" refs/changes/75/49975/2 && git cherry-pick FETCH_HEAD)

Image build

Link to check possible RDK images on RPi - https://code.rdkcentral.com/r/plugins/gitiles/components/generic/rdk-oe/meta-cmf-raspberrypi/+/refs/heads/rdk-next/recipes-core/images/

MACHINE=raspberrypi-rdk-mc source meta-cmf-raspberrypi/setup-environment

# both rdk-generic-mediaclient-image and rdk-generic-mediaclient-wpe-image are same now
bitbake rdk-generic-mediaclient-image
MACHINE=raspberrypi-rdk-mc source meta-cmf-raspberrypi/setup-environment

bitbake rdk-generic-mediaclient-wpe-tdk-image
MACHINE=raspberrypi-rdk-hybrid source meta-cmf-raspberrypi/setup-environment

#both rdk-generic-hybrid-image and rdk-generic-hybrid-wpe-image are same now
bitbake rdk-generic-hybrid-image
MACHINE=raspberrypi-rdk-hybrid source meta-cmf-raspberrypi/setup-environment

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

The Kernel image and root file-system collectively created as an image and it will be available under build-<MACHINE>/tmp/deploy/images/<MACHINE> folder.

Flashing Procedure

The image file will be generated under build-<MACHINE>/tmp/deploy/images/<MACHINE> directory

# Insert the micro SD card and mention the card's device file name
# input file (if) is the image file to flash and the output file (of) is the card's device file name
sudo dd if=rdk-generic-hybrid-wpe-image-raspberrypi-rdk-hybrid.rpi-sdimg of=/dev/<sd file> bs=4M