Yocto Project reduzindo "time to market" do seu próximo produto Otavio Salvador otavio@ossystems.com.br
Otavio Salvador Desenvolvedor Debian Gerente de Release: Debian Installer (por 3 releases) GNU Parted Colaborador em: Linux Kernel U-Boot OpenEmbedded Yocto Project: BSP ARM para Freescale Qt5 CMake SDK O.S. Systems
Yocto Project: o que é?
Yocto Project: motivações Necessidade de padronização de processos Plataformas de referencia Planos de desenvolvimento de longo prazo Soluções de reais para problemas maiores Redução de retrabalho Redução de custo de desenvolvimento Unificação de esforços para um objetivo comum
Yocto Project: o que é? Projeto totalmente Free Software sob a tutela da Linux Foundation Projeto guarda-chuva Direcionado e apoiado por um conjunto de membros que atua ativamente no mercado
Yocto Project: organização Tecnicamente Liderado tecnicamente por Richard Purdie funcionário da Linux Foundation Mantenedores por sub-system (toolchain, gráficos) Desenvolvimento em modo pull (como o Linux, em piramide) Aberto para qualquer pessoa/empresa contribuir! Advisor Board para liderança administrativa (recursos do projeto, estrutura, marketing, )
Yocto Project: Advisor Board AMD LG Electronics Renesas Long Term Support Initiative (LTSI) Juniper Networks O.S. Systems Huawei Mentor Graphics Texas Instruments Sakoman, Inc. OpenEmbedded ev MontaVista Software LSI Corporation Intel Corporation Freescale Semiconductor Enea AB Wind River Systems Dell
Yocto Project: programa de aderência Ajudam a promover o projeto Reduzem a fragmentação Níveis: Yocto Project Participant Ideal para empresas que usam publicamente o projeto e promovem o mesmo Yocto Project Compatible Ideal para produtos, BSP e etc
Poky: ferramenta de build Poky BitBake Hob e Toaster OpenEmbedded-Core Distribuição Poky BSP de referencia QEMU BeagleBone x86 genérico EdgeRouter Lite Freescale MPC8315E-RDB
Poky: ferramenta de build Suporte a ARM, ARM64, MIPS, PowerPC, x86 e x86-64 Release a cada 6 meses - atualmente Daisy ~ 1 ano de manutenção por release Extensível por meio de camadas extras Grande maioria dos fabricantes provêem ou tem, por meio da comunidades, BSPs para uso com o Yocto Project Empresas provêem camadas com extensões/customizações
Poky: principais funcionalidades Geração de imagens toolchains pacotes manifesto de licenças Teste de runtime maquinas virtuais maquinas reais toolchains externas uclibc, glibc, musl multiarch filtro de licenças (ex. sistema sem GPLv3) feed de pacotes pacotes de fonte (copyleft, etc ) profiling de código geração de SDK suporte a camadas
Yocto Project: por que usa-lo? Foco no que trás valor para o seu produto suporte a milhares de pacotes e tecnologias prontas para uso isolamento do sistema host de build foco em ser determinístico Facilita reuso da plataforma a mesma plataforma pode ser usada em vários produtos (mesmo em arquiteturas diferentes) Flexibilidade suporte a aplicação de patches quando necessários facilidade de adição de componentes
Yocto Project: por que usa-lo? Facilita divisão de responsabilidades no desenvolvimento Arquiteto de Sistema (System Architect) Desenvolvedor de Aplicativo (Aplication Developer) Desenvolvedor de Device Driver Facilita a aderência a requisitos de licenciamento Copyleft distribuição de fontes modificados ou com patches isolados
Yocto Project: time to market Reduz risco com soluções ineficientes e/ou incompletas Reduz tempo gasto com o desenvolvimento de plataforma Reuso de plataforma em vários produtos Grande disponibilidade de empresas que oferecem serviços para ajudá-lo Foco no que agrega valor ao seu produto: o seu produto!
Yocto Project: documentação Yocto Project: http://www.yoctoproject.org Quick Start Guide Reference Manual BSP Manual Aplication Development Toolkit Manual OpenEmbedded: http://openembedded.org
Embedded Linux Development with Yocto Project Autores: Otavio Salvador Daiane Angolini http://bit.ly/yocto-book
Obrigado! Perguntas? Otavio Salvador otavio@ossystems.com.br