Date post: | 13-Jun-2015 |
Category: |
Technology |
Upload: | linaro |
View: | 1,398 times |
Download: | 1 times |
Mon 3 Mar, 12:10pm, Nicolas Dechesne.
LCA14-113:Linaro Comcast RDK project
• What is the RDK?• Linaro RDK project• RDK is migrating to Yocto Project, why?• What is the Yocto Project?• OpenEmbedded RDK and benefits• Linaro RDK project outcome• RDK emulator• Screenshots and Demos
Outline
• Reference Design Kit (RDK)• Software “bundle” or generic middleware available to operators to build
software stack for set-top box. • Goals
• Speed to market• Standardization• Collaboration (royalty free community)
• Applications “layer” left to the MSO (HTML5, Qt5, …)• 100+ RDK licensees, deployed as of today in millions of homes• Owned and managed by RDK Management “LLC” formed by Comcast
and Time Warner Cable• “Under the wood”
• typical embedded Linux stack• Gstreamer, Qt5, … • BSP : Linux kernel, HALs, OGLES and Multmedia ‘drivers’
What is the RDK?
Linaro RDK project
• Linaro / Comcast joined project • from July through Dec 2013 in Member Services• founded by Comcast• 7 engineers including assignees from ARM, Comcast,
STM, Hisilicon and Entropic (+1 PM)• executed as a “landing team”, with private resources
• Create engineering relationship between Linaro and Comcast, prior to LHG
• Design and implement the reference implementation of the OpenEmbedded RDK• RDK 2.0 code base• XI3 IP Client use cases and Comcast TV guide• Develop, port, test and integrate on 3 ARM SoCs
(STMicro, Hisilicon, Entropic)
Why change?
• Legacy RDK build system • started with a trivial script• grew into a very large and complex “program”, became
a project of its own• Difficult to use• Difficult to maintain and satisfy the scalability of RDK
community.• Very slow upgrade of standard open source core
components• security• bugs• improvements
• Customization and duplication of build scripts for each SoC vendor
What is the Yocto Project?
It provides all the basic bits that every Linux product needs, pre-integrated and tested to let you spend more
time on differentiators that matter to you!
• The Yocto Project is an open source project, hosted by the Linux Foundation, launched in 2011
• Built on top 10+ years of OpenEmbedded technology development
• A collection of projects that make up the “Yocto Project”• Bitbake: the build engine• OpenEmbedded-Core: core set of recipes• Poky: reference Linux distro implementation
• Build “tailored” Linux product / distribution• Support for ARM, PPC, MIPS, x86• Excellent, extensive documentation• Vibrant Open Source community
The Yocto Project
• Bitbake is the build engine• parses metadata• manage dependencies • schedule build tasks
• Build recipes• Components• Images • Configuration files for “machine”, “distribution”• Source code patches
• Layers• container for recipes, configuration files• organized logically by features• OpenEmbedded-Core, Qt5, Gnome, browser(s), …
OpenEmbedded
• Core layer(s) to build all common base root FS components (busybox, lighttpd, Gstreamer, Qt, …)• Fully maintained by the OSS community • Security fixes • Regular, planned stable version updates, every 6 months.
• RDK layer• Owned by the RDK community• RDK mediaframework, IARM, devicesettings, …• Generic image definitions
• BSP layer for each SoC• One layer for each SoC vendor• Kernel, multimedia and graphics drivers• SoC RDK components such as RDK HALs
• MSO layer• Proprietary applications• Product image definitions
• OEM layer
OpenEmbedded RDK “layers”
OpenEmbedded RDK benefits
• Build “on the shoulders of giants”• Standard distribution and build tools
• Reduce fragmentation and differentiation across SoCs in areas that don't matter
• Reduce entry barrier for newcomers in the RDK community• Benefits from development, innovation and support from the entire
OpenEmbedded / Yocto Program ecosystem • Thousands of components already pre-integrated
• Standard BSP deliveries• Homogeneous across all RDK SoC vendors• BSP layer can be made independent of RDK, and can be reused for any
OpenEmbedded based project• Clear ownership and control of each “participant” (RDK, BSP, OEM). • Yet, full flexibility for customization and/or patches when necessary
Linaro RDK project outcome
Origin of binary packages in a Comcast XI3 image
• Initially started with “dylan” (v1.4) release, and migrated to “dora” (v1.5)
• Upstream OE contributions• Layers:
• 3 BSP layers• “meta-rdk”• “meta-comcast”
• RDK s/w refactoring • Jenkins• LAVA CI loop (almost…)
• What is it?• Fully functional reference Implementation of the RDK software stack.• All configurations available (mediaclient, headless gateway, …)• Runs on a vanilla x86 platform (development platform) : 32-bit QEMU,
VirtualBox or VMWare • RDK Browser and “rmfApp”, and all other RDK components that would be
present in a fielded RDK software stack.• Built “for free” using OpenEmbedded RDK
• Usage Scenarios• Provides an easy way to build and validate components and applications
without the need for specialized hardware platform.• Component developer - Includes reference implementation for component• The RDK Browser allows for validation of HTML5 and other HTML-based
applications.• The reference implementation is very useful when porting the RDK software
stack to a new chipset or OEM device.
RDK emulator
• Comcast has joined Linaro Digital Home Group (LHG)• Expecting several other RDK “players” to join• RDK will be one of the main development platforms for
LHG deliverables• At the RDK user conference (Feb 14) , publicly announced
new RDK projects to be based on OpenEmbedded RDK• Comcast is building a team to take over this work,
‘productize’ the reference implementation and ship it!• Goodies
• Screenshots• Linaro Tech showcase, talk to Trevor
So, next?
Comcast TV Guide on real hardware
RDK emulator (VirtualBox)
Any questions?
More about Linaro Connect: http://connect.linaro.orgMore about Linaro: http://www.linaro.org/about/
More about Linaro engineering: http://www.linaro.org/engineering/Linaro members: www.linaro.org/members