Usando el hardware Intel para embedded con Yocto y MeeGo Marcelo Lorenzati marcelo.lorenzati@intel.com 1
Agenda Porqué MeeGo y Yocto? MeeGo OS / SDK Yocto OS / SDK Consultas 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 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 4
Porqué MeeGo y Yocto? Yocto SDK Yocto Community Yocto Intel Atom Developer Program & Intel AppUp Center MeeGo Plataformas basadas en procesadores Intel Atom 5
Porqué MeeGo y Yocto? Tendencia de uso de sistemas operativos para sistema embebidos en los proyectos 50,0% 40,0% Licenciado comercialmente o consorcio open source Desarrollo Propio 30,0% 20,0% 10,0% 0,0% Pasado Actual Futuro Licenciado comercialmente no open source No un OS formal VDC Research: 2010 Embedded Software and tools research vol 1 6
Moblin + Maemo 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 7
Arquitectura de MeeGo MeeGo APIs Segment Specific User Experiences Connection Manager for data connectivity Telephony Framework Cloud-device sync of PIM Data Integrated Social Networking Application Development Environment Improved Power Management Fast boot & Shutdown Optimization Support for Multiple Multimedia Framework Internationalization with UI guidelines Gesture & Multi Touch Framework Sensor Framework 8
Arquitectura de MeeGo 9
Cómo desarrollo en MeeGo? Desarrollo Debug Empaquetado Distribución Features Cross-OS Deploy/debug con VM o dispositivo Emulación de dispositivos Mejor soporte de empaquetado Integración con Qt Creator Linux Workstation MeeGo toolchain Windows Workstation MeeGo toolchain QEMU Virtual Machine Device QEMU* Virtual Machine manual RPM Spec Creator public OBS plugin to Qt Creator Community Repositories plugin to Qt Creator Device 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 11
Host Como desarrollo en MeeGo? 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 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 13
Demo 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 15
Componentes de Yocto Partners Un espacio de colaboración Board Support Packages Yocto es más que un build system! Infraestructura de Testing Standards Una implementación de referencia Documentacion 16
Otros Build Systems existentes E2-Factory BuildRoot LTIB Poky OpenWRT PTXdist LDAT OpenEmbedded CrossTool-NG 17
Arquitectura de Yocto Ambiente de desarrollo del proyecto Yocto 18
Arquitectura de Yocto Modificaciones al Kernel 19
Cómo desarrollo en Yocto? Desarrollo Debug Empaquetado Linux Workstation Yocto toolchain QEMU Virtual Machine Linux Workstation Yocto toolchain Linux Workstation Yocto toolchain Device QEMU Virtual Machine Device QEMU Virtual Machine Manual RPM DEB IPKG Device 20
Demo 21
marcelo.lorenzati@intel.com meego.com www.yoctoproject.org edc.intel.com www.appup.com appdeveloper.intel.com/en-us/ 22
Gracias! 23
Backup 24