Versions Compared

Key

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

...

This manual describes the rdk-generic-broadband-image build procedure with EasyMesh Controller enabled for Yocto 3.1 builds. It will be used to generate rdk-generic-broadband-image for Raspberrypi Raspberry Pi reference platform.

Host Setup

For Host setup details refer this link - : How to Build - Setting up the Host Environment

Repo Setup

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

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
themeMidnight
titleRepo Setup Steps
$ mkdir ~/bin

...


$ PATH=~/bin:$PATH

...


$ 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

Code Block
languagetext
title.netrc
machine code.rdkcentral.com

...


  login YOUR_USERNAME

...


  password YOUR_PASSWORD

Yocto Build

To build, follow below instructions

Code Block
languagebash
themeMidnight
titleBuild Steps
$ mkdir <workspace dir>

...


$ cd <workspace dir>

...


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

...


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

...


$ MACHINE=raspberrypi-rdk-broadband source meta-cmf-raspberrypi/setup-environment

In order to enable EasyMesh Controller for the build "easymesh-controller" distro feature must be added. The following line must be added to a configuration file (could be meta-cmf-raspberrypi/conf/distro/include/rdk-rpi.inc or meta-cmf-raspberrypi/conf/machine/raspberrypi-rdk-broadband.conf must be modified and the following line must be added:etc):

Code Block
languagetext
DISTRO_FEATURES_append = " easymesh-controller "

Note: Before proceeding make sure you have the correct branch by checking the following items:

  • meta-cmf/recipes-core/packagegroups/packagegroup-rdk-ccsp-broadband.bbappend has to include a line with "easymesh-controller" regarding DISTRO_FEATURES.
  • meta-rdk-broadband/recipes-ccsp/ccsp/ccsp_common.inc has to include a line with "easymesh-controller" regarding DISTRO_FEATURES.
  • meta-rdk-broadband/recipes-ccsp/ccsp/rdk-easymesh-controller.bb must exist.
Code Block
languagebash
themeMidnight
titleBuild Steps Continued
$ bitbake rdk-generic-broadband-image