RDK-V Emulator Build Instructions


Copyright 2015 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.

Document Status 



Document Control Number

D10-20141105

Document Title

RDK Emulator Users Guide

Version

D05

Date

2015/02/23

Status

Issued (I)

Distribution

RDK licensees & ASP Members

Document Status Codes



Work in Progress (WIP)

An incomplete document designed to guide discussion and generate feedback that may include several alternative requirements for consideration.

Draft (D)

A document in specification format considered largely complete, but lacking review. Drafts are susceptible to substantial change during the review process.

Pre-Issued (Pre I)

A revision of a document circulated for review or approval prior to release, but not approved for distribution

Issued (I)

A stable document, which has undergone rigorous review and is suitable for product design and development 
It will serve as a basis for testing requirements.

Legal Notices


This document is provided under the terms and conditions of the RDK License Agreement, License Agreement for Software Integration Kit, License Agreement for Set-top Box Software Integration Kit.

RDK Management LLC is not responsible for any liability of any nature whatsoever resulting from or arising out of any use or reliance upon this specification. This document is furnished on an "AS IS" basis, and RDK Management, LLC does not provide any representation or warranty, express or implied, regarding its accuracy, completeness, or fitness for a particular purpose."

Table of Contents


Introduction


RDK (Reference Design Kit) is an integrated set of software components, tools and documentation that help in the development of the software stack for set-top box based on the standard Linux operating system which is designed to meet the requirements of the latest generation media servers and clients.

The RDK emulator is an x86 based implementation of the RDK software stack. It is primarily targeted towards the RDK development community (integrators, component developers and application developers) that attempts to simplify the process of working with the RDK software stack without the need for a reference hardware platform.  The key applications in the RDK Emulator are the rmfApp, Media streamer and the RDK-Browser. As RDK emulator runs on desktop computers, applications can be tested and debugged before trying to deploy them to real devices.

Purpose of this Document


The purpose of this document is to enable RDK users and developers to be able to bring up the RDK stack and emulator on the PC platform. The document also includes step-by-step procedures to setup & build RDK Emulator

Audience


The intended audience includes the MSO teams, developers and external vendors responsible for the development of firmware and applications for RDK-based Set Top Boxes 

Scope


Scope of this document includes understanding RDK Emulator and  functionalities, supported build types and to run and test in Virtual Box environment.

Limitations


RDK Emulator does not support all components of RDK 2.0 stack .Currently RDK Emulator supports mediaframework, media-streamer, RDK-Browser and RDK-Logger, XRE components.

Known Issues


Abbreviations and Acronyms


The following table describes the acronyms and abbreviations used in this document

Abbreviation/Acronym

Description

RDK

Reference Design Kit

VM

Virtual Machine

VBox

Virtual Box

QAM

Quadrature Amplitude Modulation

STB

Set Top Box

XRE

Cross-Platform Runtime Environment

HDD

Hard Disk Drive

EOS

End of Stream

SPTS

Single Program Transport Stream

MPTS

Multi-Program Transport Stream

UPNP

Universal Plug and Play

Overview of RDK Emulator


Key Features


Supported Build Types



Build Types

RDK Components Involved

Features/Applications Supported

Final Image Name

Startup Application

 RDK Mediaclient

  1. rdklogger,
  2. mediaframework
  3. rdkbrowser2
  1. rmfApp (Hnsource,Mediaplayersink)
  2. rdkbrowser2

rdk-generic-mediaclient-image-qemux86.vmdk

RDK-Browser

  RDK Hybrid

  1. rdklogger,
  2. mediaframework
  3. mediastreamer
  4. Rdkbrowser2
  1. rmfApp (Hnsource,qamsource,mediaplayersink)
  2. rdkbrowser2
  3. rmfStreamer ( Http+DLNA Server Support)

rdk-generic-hybrid-image-qemux86.vmdk

RDK-Browser

Build Setup Instructions


Setting up the Host Environment

How to Build#SettinguptheHostEnvironment

Yocto 2.2 (Morty) support in RDK Emulator

Downloading Source Code & Building (morty version of RDK-Emulator)


The following commands fetch the source code of the emulator using the Android repo tool

mkdir emulator && cd emulator
repo init -u https://code.rdkcentral.com/r/manifests -b rdk-next -m rdkv-nosrc.xml
repo sync -j`nproc` --no-clone-bundle --no-tags


The above step configures and sets up your directory to start an appropriate build for hybrid or media client.


For Mediaclient:

MACHINE=qemux86mc-morty source meta-cmf-bsp-emulator/setup-environment
bitbake rdk-generic-mediaclient-wpe-image

For Hybrid:

MACHINE=qemux86hyb-morty source meta-cmf-bsp-emulator/setup-environment
bitbake rdk-generic-hybrid-wpe-image

On Successful build, the image (in .vmdk format) would be available at the following reference location based on whether your build type was Hybrid (qemux86hyb-morty) or Media Client (qemux86mc-morty):

-       build-qemux86hyb-morty/tmp/deploy/images/qemux86hyb-morty or

-       build-qemux86mc-morty/tmp/deploy/images/qemux86mc -morty



To build TDK-images

For Mediaclient:

MACHINE=qemux86mc-morty source meta-cmf-bsp-emulator/setup-environment
bitbake rdk-generic-mediaclient-wpe-tdk-image

For Hybrid:

MACHINE=qemux86hyb-morty source meta-cmf-bsp-emulator/setup-environment
bitbake rdk-generic-hybrid-wpe-tdk-image


Note:

VMWare Player 6.X or less only supported to get wpe-webkit browser support
Host OS ubuntu 12.04 32-Bit