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

Build Setup Instructions

Setting up the Host Environment


  • The OpenEmbedded build system should be able to run on Ubuntu 20.0 distribution/other compatible linux distribution with the following versions for Git, tar, and Python.

    • Git 2.25.1 or greater
    • tar 1.30 or greater
    • Python 3.10.4 or greater
    • Coreutils(E.g realpath)

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

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

    $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
      build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
      xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
      pylint3 xterm bmap-tools
     
    $ sudo apt-get install git cmake autoconf texinfo openjdk-8-jdk openjdk-8-jre \
      m4 libtool libtool-bin curl pkg-config lib32z1 doxygen

Configure Git

Upgrade your Git version to 1.8.x or higher

...

# 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. (Here in login we need to give public user id which created to login code.rdkcentral.com)

...

machine code.rdkcentral.com login <YOUR_USERNAME> password <YOUR_PASSWORD>

machine github.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://code.rdkcentral.com/r/rdkcmf/manifests -b kirkstone -m rdkv-nosrc.xml

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

Building

MACHINE=raspberrypi4-64-rdk-android-ipstb-oss source meta-cmf-raspberrypi/setup-environment

bitbake lib32-rdk-ipstb-oss-image

...

build-raspberrypi4-64-rdk-android-ipstb-oss/tmp/deploy/images/raspberrypi4-64-rdk-android-ipstb-oss/imagename.wic.bz2

Flashing the RPI Image

The micro SD card should be formatted (FAT) before writing the RPI image to it.  The minimum SD card size that can be used is 2GB. 

...