Extensible SDK support on RDK-V Raspberrypi Yocto 3.1 dunfell build
Tables of Contents
Yocto Build
Host Machine Setup
Hardware requirements:
- Ubuntu 18.04 desktop machine
- RAM – 8 GB or more
- Memory – a minimum of 100 GB free space
Refer to the link for host machine setup: Host Setup
Yocto workspace setup
repo init -u https://code.rdkcentral.com/r/manifests -b dunfell -m rdkv-extsrc.xml repo sync -j `nproc` --no-clone-bundle --no-tags
Note: The above bug fixes changes are temporary given as instructions. This is not required once the change is get merged into the appropriate layer.
Populate eSDK
MACHINE=raspberrypi-rdk-mc source meta-cmf-raspberrypi/setup-environment bitbake rdk-generic-mediaclient-wpe-image -c populate_sdk_ext
MACHINE=raspberrypi-rdk-hybrid source meta-cmf-raspberrypi/setup-environment bitbake rdk-generic-hybrid-wpe-image -c populate_sdk_ext
The generated eSDK installer resides under the directory build-<MACHINE>/tmp/deploy/sdk/rdk-glibc-x86_64-arm-toolchain-ext-2.0.sh
of the Yocto workspace.
Note: The generated eSDK installer script usually occupies 2 to 2.5 GB
eSDK Installation
The installer can be done on any x86_64 Linux machines.
Host Configuration
Refer to the RDKCentral’s credential configuration to setup RDK Central’s credentials in the machine where eSDK to be installed. This is to access repositories by the RDK Yocto recipes that reside in the eSDK installer.
Installation
# run the installer script file # installer asks for a directory to install (default directory ~/rdk_sdk) # installer asks permission to proceed ./rdk-glibc-x86_64-arm-toolchain-ext-2.0.sh
Below is the result (terminal output) of the installation
|
---|
Build from eSDK
This section covers how to use the eSDK for component build and image build
Environment Setup
The installer can be run on any x86_64 Linux based machines.
# change directory to the installed path cd ~/rdk_sdk # setup the eSDK environemnt source environment-setup-cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi
New Components
Add Component
# way 1 # add a new recipe with URL devtool add <recipe_name> <source URL> # eg. devtool add westeros https://github.com/rdkcmf/westeros # way 2 # add a new recipe with external source directory devtool add <recipe_name> <absolute path> # eg. devtool add westeros /path/for/source/directory
Modify Component
# modify existing recipe's URL or srctree or to add patches devtool modify <recipe_name> <new URL> # eg. devtool modify westeros https://code.rdkcentral.com/r/rdk/components/generic/westeros
Edit Component’s recipe
# modify recipe from an editor devtool edit-recipe <recipe_name> # eg. devtool edit-recipe westeros
Upgrade Component
# modify existing recipe's URL or srctree or to add patches devtool upgrade --version <version number> <recipe_name> # eg. devtool upgrade --version 1.0.21 westeros
Build Components
# Pre-requisite: add a new recipe using devtool devtool build <recipe_name> # eg. devtool build westeros
Deploy binaries
# Pre-requisite: add a new recipe using devtool devtool deploy-target <recipe_name> <target_path> # eg. devtool deploy-target westeros root@192.168.xx.xx
Build Image
A complete RDK image can be generated from the eSDK installer.
Note: The same image where the eSDK populated can be generated here.
# devtool command to build image from eSDK # <IMAGE> - rdk-generic-mediaclient-wpe-image or rdk-generic-hybrid-wpe-image devtool build-image <IMAGE>
Hi All,
Find the below link it is a
devtool reference link
I am able to do above all features in devtool
https://wiki.yoctoproject.org/wiki/Application_Development_with_Extensible_SDK