Versions Compared

Key

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

A tutorial to set up your environment and Download Source Code

Table of Contents

Build Setup Instructions

Setting up the Host Environment

Pre-Requisites

Requirement

Yocto 2.2 (Morty)

Yocto 3.1 LTS (Dunfell)

Linux

32/64 bit Ubuntu 16.04 LTS

Precise supported distributions and versions are here

64 bit Ubuntu 18.04 LTS

Precise supported distributions and versions are here

Free HDD Space

Minimum 100GB Free Memory

Minimum 100GB Free memory space

Oracle Virtual Box

5.0.40 or higher

-

Wireless Adapter

Brand Name: Tenda ralink & Model Number:W311MI

TP-Link Archer T4U AC 1200

-

USB to Ethernet Switch

To connect with Ethernet Switch & Multiple Clients


Host Tools version
  • Git 1.8.3.1 or greater

  • tar 1.24 or greater

  • Python 2.7.3

  • Git 1.8.3.1 or greater

  • tar 1.28 or greater

  • Python 3.5.0 or greater

Install the following packages for setting up your host VM

The instructions provided below are meant to be executed via the command line on an Ubuntu machine

...

Code Block
languagebash
themeRDark
titlefor yocto 3.1 (dunfell)
# essential packages installation
# super user mode is required

# major essential packages
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib g++-multilib build-essential chrpath socat bison curl cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm

Configure bash as default command interpreter for shell scripts


Code Block
languagebash
themeRDark
sudo dpkg-reconfigure dash

Select “No”
To choose bash, when the prompt asks if you want to use dash as the default system shell - select “No”

Configure Git

Upgrade your Git version to 1.8.x or higher

...

Code Block
languagebash
themeRDark
# review your existing configuration
git config --list --show-origin

# configure user name and email address
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

# configure git cookies. Needed for Gerrit to only contact the LDAP backend once.
git config --global http.cookieFile /tmp/gitcookie.txt
git config --global http.saveCookies true

Configure repo

In order to use Yocto build system, first you need to make sure that repo is properly installed on the machine:

...

Repo manages this for you by means of an XML based Manifest file. The Manifest file defines which repositories the project uses and links to appropriate revisions of each git repository, i.e where the upstream repositories reside and where they should be cloned locally. It is the manifest.xml (or default.xml) that determines which Git repositories and revisions repo will manage. This manifest.xml file is hosted in a Git repository along with all the other git repositories.

 Credential configuration

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

...

machine code.rdkcentral.com

    login <YOUR_USERNAME>

    password <YOUR_PASSWORD>

Downloading Source Code & Building

Downloading Source Code

Following commands fetch the source code using repo tool

...

$ repo init -u https://user@code.rdkcentral.com/r/manifests -m manifest.xml -b <branch_name>

Examples :

repo init -u https://code.rdkcentral.com/r/manifests -m rdkb.xml -b rdkb-20180527

repo init -u https://code.rdkcentral.com/r/manifests -m rdkb.xml -b master

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


$ repo sync --no-clone-bundle

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.

Building

$ source <setup-environment>

...