Usando el hardware para embedded con Yocto y MeeGo

Marcelo Lorenzati [email protected]

Software and Services Group 1 Agenda

• Porqué MeeGo y Yocto? • MeeGo OS / SDK • Yocto OS / SDK • Consultas

Software and Services Group 2 Porque MeeGo y Yocto?

suma popularidad en nuevos form factors y embedded • Muchos form factors nuevos (, Handhelds, Tablets, Media phones, Smart TVs, In-Vehicle Infotainment, ) • Múltiples arquitecturas (ARM, MIPS, PPC, , x86_64) • Ecosistema fragmentado (múltiples soluciones similares)

Resultado: • Mucho esfuerzo para desarrollar software no diferenciador • Menos tiempo y recursos para agregar la propuesta de valor

Software and Services Group 3 Porqué MeeGo y Yocto?

• Falta de un estándar único para el desarrollo – Herramientas complejas y no amigables – Sin soporte para desarrollar en todos los form factors – Sin experiencia de usuario unificada • Falta de herramientas de diseño integradas

Software and Services Group 4 Porqué MeeGo y Yocto?

Yocto Intel® Atom™ Developer Program & SDK Intel AppUp℠ Center Yocto Community

Yocto MeeGo

Plataformas basadas en procesadores Intel® Atom™

Software and Services Group 5 Porqué MeeGo y Yocto? Tendencia de uso de sistemas operativos para sistema embebidos en los proyectos

Licenciado 50,0% comercialmente o consorcio open source 40,0% Desarrollo Propio 30,0%

20,0% Licenciado comercialmente 10,0% no open source No un OS formal 0,0% Pasado Actual Futuro

VDC Research: 2010 and tools research vol 1

Software and Services Group 6 Qué es MeeGo?

+ • Proyecto independiente • GPL (General Public License) • Soportado por una comunidad (manteiners, source repo, Meritocracia) • Una misma experiencia de usuario en todas las plataformas y arquitecturas • Una distribución base (core) con verticales con cada plataforma • Booteo rápido y footprint reducido • Foco en el consumo de energía

Software and Services Group 7 Arquitectura de MeeGo

MeeGo

Connection Segment Manager for Cloud-device Integrated Application Specific User data Telephony sync of PIM Social Development Experiences connectivity Framework Data Networking Environment

Support for Fast boot & Multiple Internationali- Gesture & Improved Power Shutdown Multimedia zation with UI Multi Touch Sensor Management Optimization Framework guidelines Framework Framework

8 Software and Services Group

Arquitectura de MeeGo

Software and Services Group 9 Cómo desarrollo en MeeGo?

Desarrollo Debug Empaquetado Distribución

Features Linux QEMU • Cross-OS Workstation Virtual Machine MeeGo • Deploy/debug con VM o dispositivo toolchain • Emulación de • manual dispositivos Device • RPM Spec Creator Community • Mejor soporte de • public OBS Repositories empaquetado Windows QEMU* • plugin to Workstation • Integración con • plugin to Qt Virtual Machine Creator Creator MeeGo

toolchain

Device

Software and Services Group 10 Intel AppUp Center

Seguro Intel es un nombre que consumidores y desarrolladores confían

Simple Interfaz grafica simple con acceso rápido al contenido

Foco en el desarrollador •Soporte para múltiples sistemas operativos, runtimes y plataformas •SDK potente multiplataforma •Submitea una vez y distribuye globalmente •Gana hasta el 70% de los ingresos de la aplicación •Programa de 1 millón de dólares para fondos de desarrollo.

Developer Program – http://appdeveloper.intel.com/en-us/meego

• AppUp – http://www.intel.com/appup

Software and Services Group 11 Como desarrollo en MeeGo?

• Host – Fedora 12,13 (12  14) – Ubuntu 9.10,10.04 (9.10  10.10) – OpenSUSE 11.2,11.3 (11.2  11.4) – Windows XP SP3, – Mac (Snow Leopard) version TBD

• Target – x86 , x86 Handheld, n900 – Imagenes proveidas para emulacion con QEMU

Software and Services Group 12 Cómo desarrollo en MeeGo? • Windows : -sdk-installer.exe • Linux: (wiki.meego.com/SDK/Docs/1.1) – Agregar repositorio – Instalar paquete meego-sdk (incluye qt, qt-creator, qt-designer, qemu) – Instalar toolchain (~250MB) – Instalar runtime (~600MB) – Configurar Qt Creator • Documentación del SDK On line: meego.com/developers • API para MeeGo documentada (con soporte de Qt) • Maquina virtual QEMU (Gráficos acelerados GL) • Integrado a Qt Creator (Boton para lanzar Qemu) • Dispositivos virtualizados

Software and Services Group 13 Demo

Software and Services Group 14 Qué es Yocto?

• Infraestructura Open Source para desarrollo de distribuciones Linux customizadas. • Pensada para embedded para cualquier arquitectura de hardware. • Un Build System completo (basado en Poky) • Un SDK completo con herramientas de debug y virtualización • Proyectos, recursos e información • Codifica una vez ejecútalo en todas las plataformas

Software and Services Group 15 Componentes de Yocto

Partners

Infraestructura Un espacio de de Testing colaboración Yocto es más que

un build system ! Standards Board Support Packages

Una implementación Documentacion de referencia

Software and Services Group 16 Otros Build Systems existentes

E2-Factory

BuildRoot LTIB

Poky OpenWRT

PTXdist LDAT

CrossTool-NG OpenEmbedded

Software and Services Group 17 Arquitectura de Yocto

Ambiente de desarrollo del proyecto Yocto

Software and Services Group 18 Arquitectura de Yocto

Modificaciones al Kernel

Software and Services Group 19 Cómo desarrollo en Yocto? Desarrollo Debug Empaquetado

Linux QEMU Workstation Virtual Machine Yocto

toolchain

Device Linux QEMU Workstation Virtual Machine Yocto

toolchain

• Manual • RPM Device • DEB Linux QEMU • IPKG Workstation Virtual Machine Yocto

toolchain

Device

Software and Services Group 20 Demo

Software and Services Group 21 [email protected] meego.com www.yoctoproject.org edc.intel.com www.appup.com appdeveloper.intel.com/en-us/

Software and Services Group 22 Gracias!

Software and Services Group 23 Backup

Software and Services Group 24