Usando el hardware Intel 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?
• Linux suma popularidad en nuevos form factors y embedded • Muchos form factors nuevos (Netbooks, Handhelds, Tablets, Media phones, Smart TVs, In-Vehicle Infotainment, System on a Chip) • Múltiples arquitecturas (ARM, MIPS, PPC, x86, 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 Embedded Software and tools research vol 1
Software and Services Group 6 Qué es MeeGo?
• Moblin + Maemo • 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 APIs
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 Qt Workstation • Integración con Qt Creator • 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.
• Intel Atom 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, Windows 7 – Mac (Snow Leopard) version TBD
• Target – x86 Netbook, x86 Handheld, n900 – Imagenes proveidas para emulacion con QEMU
Software and Services Group 12 Cómo desarrollo en MeeGo? • Windows : meego-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