RDK on Yocto Project Khem Raj Comcast YPDD Düsseldorf 16 OCT 2014
Introduction RDK stands for Reference Design Kit J Complete Software Stack for customer Premises Equipment e.g. set-top boxes Uses Linux as base Operating System Utilises gstreamer, QT, webkit 2 Yocto Project The Linux Foundation
RDK Stack Overview 3 Yocto Project The Linux Foundation
Prior Art Guide/Apps OEM Stacks vertically Integrated with HW OEM SW + Middleware Hardware 4 Yocto Project The Linux Foundation
State of Art MSO RDK SoC RDK OEM MSO Specific GUI/Components Platform independent modules Code specific to Silicon Platform OEM specific SW Components Layered approach Platform Device(OEM) Chipset(SOC) Generic RDK Hardware 5 Yocto Project The Linux Foundation
RDK Deployment Scenarios Media server Device Class IP media client Device Hybrid Includes media server and media client Broadband Gateways 6 Yocto Project The Linux Foundation
RDK Stack Build system Currently uses homegrown build system Written in python Can work with mutliple targets Uses prebuilt mechanisms ( maven, nexus ) SCM Interactions using git and svn Robust integration with Jenkins CI, JIRA, and in-house developed portal tools Source overlays to maintain ACLs 7 Yocto Project The Linux Foundation
Why Shake the boat? A need for modular build system to match RDK goals is needed Remember layers on few slides back What parallels can you draw? 8 Yocto Project The Linux Foundation
RDK on OpenEmbedded Framework How it started Initially conceived by Comcast and Linaro Comcast and Linaro created meta-rdk in the pilot Aimed to create images for emulator and few ARM boards Its now hosted on RDK CMF Supports Emulator BSP Runs in hybrid and mediaclient flavors on virtualbox Comcast s Downstream supports More architectures e.g. MIPS, ARM BSP layers 9 Yocto Project The Linux Foundation
Why RDK uses Yocto Project Framework RDK wants to have a common infrastructure yet support multiple architectures SOC RDK component OEM RDK component Its looking for a scalable system to meet the RDK community needs Collaborate on open source infrastructure 10 Yocto Project The Linux Foundation
Why RDK uses Yocto Project Framework Build on the shoulders of giants Picture taken from http://movietruth.wordpress.com/category/21st-century-movies/ 11 Yocto Project The Linux Foundation
Why RDK uses Yocto Project Framework Standard Distribution and tools Help in consolidating common pieces More folks know Yocto/OE than RDK build system Vibrant open source community More machine support 12 Yocto Project The Linux Foundation
RDK Layers meta-rdk Distribution policies ( modeled from poky ) Common RDK component recipes meta-rdk-bsp-emulator Board support layer Contains qemux86hyb and qemux86mc machines Meta-rdk-bsp-emlator is reference for porting Create new machine layers based on it Create meta-rdk-bsp delta layers for existing BSPs 13 Yocto Project The Linux Foundation
Emulator for RDK Emulator for RDK is fully built using Yocto framework RDK generic images Mediaclient Hybrid RDK OSS images Images consisting of OSS components only 14 Yocto Project The Linux Foundation
RDK Emulator Start Page 15 Yocto Project The Linux Foundation
RDK Emulator - Guide 16 Yocto Project The Linux Foundation
Challenges Developer Workflow Platform developers think OE is a system integrators tool Application Developers use ADT, however cant generate binary deliverable e.g. ( rpms, ipks) Toaster Again a system integrators tool 17 Yocto Project The Linux Foundation
Challenges Project Sandbox Creation Developers want to do edit-compile-debug cycles on middleware libraries and infrastructure ADT is not an answer EXTERNALSRC Good way to mix components and build system layers, Need to see if it can be used with large number of components How does it interact with shared-state? Locked sstate 18 Yocto Project The Linux Foundation
Challenges Integrate metadata repositories with components in source form to offer a unified CI pipeline Integration with codeflow orchestration tools e.g. gerrit 19 Yocto Project The Linux Foundation
Future Build images from feeds Integration with IDEs e.g. QTCreator More collaboration with Yocto Project Community Actively push changes upstream YP compliance for RDK layer Integrating visualization tools e.g. toaster 20 Yocto Project The Linux Foundation
Getting Involved with RDK http://rdkcentral.com Information on how to join FAQs General information 21 Yocto Project The Linux Foundation
Thank you for your participation!
Backup Build images from feeds Integration with IDEs e.g. QTCreator More collaboration with Yocto Project Community 23 Yocto Project The Linux Foundation
This is an Example of a Longer Section Name for this Divider Yocto Project The Linux Foundation