Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

  • Git 1.7.8 or greater.

  • tar 1.24 or greater.

  • Python 2.7.3 or greater excluding Python 3.x, which is not supported.

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

Code Block
languagebash
themeDJango
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

Code Block
languagebash
themeDJango
mkdir ~/bin
PATH=~/bin:$PATH

Download the repo tool and ensure that it is executable

Code Block
languagebash
themeDJango
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


Warning
titleNo longer supported

Recommending to use dunfell build going forward.

Host Setup

NOTE: Observing fetch errors in VMs with Ubuntu14.x. Thus, suggesting to use VMs with Ubuntu16.x or higher.

Building

Note: Cloning the code before login once to code.rdkcentral.com, user would get the Authentication error, even though the account is in good standing and has all the required access. Please login to code.rdkcentral.com before attempting to clone.

...

Code Block
languagebash
themeDJango
mkdir <workspace dir>
cd <workspace dir>
Info
titleOpenSync backhaul credential

Please get patch(service.patch) for meta-turris layer from Plume to apply backhaul credential(SSID:PSK). Please check Cloud Access Guide for more details.

Follow below instructions to create build with external sources

Code Block
languagebash
themeDJango
repo init -u https://code.rdkcentral.com/r/manifests -m rdkb-turris-pod-nosrcextsrc.xml -b rdk-next
repo sync -j4 --no-clone-bundle
cd meta-turris && git apply service.patch && cd ../
MACHINE=turris-extender source meta-turris/setup-environment build-turris-ext
bitbake rdk-generic-extender-image

...

Code Block
languagebash
themeDJango
repo init -u https://code.rdkcentral.com/r/manifests -m rdkb-turris-pod-extsrcnosrc.xml -b rdk-next
repo sync -j4 --no-clone-bundle
cd meta-turris && git apply service.patch && cd ../
MACHINE=turris-extender source meta-turris/setup-environment build-turris-ext
bitbake rdk-generic-extender-image

...

Note. The kernel Image and root filesystem will be placed under <workspace dir>/build-turris-ext/tmp/deploy/images/turris-extender directory

Flashing procedure