1. Mon 3 Mar, 12:10pm, Nicolas Dechesne.
LCA14-113:Linaro Comcast RDK
project
2. • 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
3. • 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?
5. 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)
6. 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
7. 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!
8. • 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
9. • 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
10. • 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”
11. 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
12. 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…)
13. • 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
14. • 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?
18. More about Linaro Connect: http://connect.linaro.org
More about Linaro: http://www.linaro.org/about/
More about Linaro engineering: http://www.linaro.org/engineering/
Linaro members: www.linaro.org/members