lca14: lca14-113:linaro comcast rdk project

18
Mon 3 Mar, 12:10pm, Nicolas Dechesne. LCA14-113:Linaro Comcast RDK project

Upload: linaro

Post on 13-Jun-2015

1.403 views

Category:

Technology


1 download

DESCRIPTION

Resource: LCA14 Name: LCA14-113:Linaro Comcast RDK project Date: 03-03-2014 Speaker: Nicolas Dechesne Video: https://www.youtube.com/watch?v=YVzzUtemCxo

TRANSCRIPT

Page 1: LCA14: LCA14-113:Linaro Comcast RDK project

Mon 3 Mar, 12:10pm, Nicolas Dechesne.

LCA14-113:Linaro Comcast RDK project

Page 2: LCA14: 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

Page 3: LCA14: LCA14-113:Linaro Comcast RDK project

• 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?

Page 4: LCA14: LCA14-113:Linaro Comcast RDK project

RDK stack

http://rdkcentral.com/

Page 5: LCA14: LCA14-113:Linaro Comcast RDK project

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)

Page 6: LCA14: LCA14-113:Linaro Comcast RDK project

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

Page 7: LCA14: LCA14-113:Linaro Comcast RDK project

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!

Page 8: LCA14: LCA14-113:Linaro Comcast RDK project

• 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

Page 9: LCA14: LCA14-113:Linaro Comcast RDK 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

Page 10: LCA14: LCA14-113:Linaro Comcast RDK project

• 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”

Page 11: LCA14: LCA14-113:Linaro Comcast RDK project

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

Page 12: LCA14: LCA14-113:Linaro Comcast RDK project

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…)

Page 13: LCA14: LCA14-113:Linaro Comcast RDK project

• 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

Page 14: LCA14: LCA14-113:Linaro Comcast RDK project

• 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?

Page 15: LCA14: LCA14-113:Linaro Comcast RDK project

Comcast TV Guide on real hardware

Page 16: LCA14: LCA14-113:Linaro Comcast RDK project

RDK emulator (VirtualBox)

Page 17: LCA14: LCA14-113:Linaro Comcast RDK project

Any questions?

Page 18: LCA14: LCA14-113:Linaro Comcast RDK project

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