Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo produto

17
Yocto Project reduzindo "time to market" do seu próximo produto Otavio Salvador [email protected]

description

Palestra feita pelo Otávio Salvador no FISL15 sobre o projeto Yocto

Transcript of Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo produto

Page 1: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

Yocto Projectreduzindo "time to market" do seu próximo

produto

Otavio [email protected]

Page 2: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

● Desenvolvedor Debian● Gerente de Release:

○ Debian Installer (por 3 releases)

○ GNU Parted● Colaborador em:

○ Linux Kernel○ U-Boot○ OpenEmbedded

Otavio Salvador

● Yocto Project:○ BSP ARM para

Freescale○ Qt5○ CMake○ SDK

● O.S. Systems

Page 3: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

Yocto Project: o que é?

Page 4: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

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

Page 5: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

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

Page 6: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

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

Page 7: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

Yocto Project: Advisor Board

AMDLG ElectronicsRenesasLong Term Support Initiative (LTSI)Juniper NetworksO.S. SystemsHuaweiMentor GraphicsTexas Instruments

Sakoman, Inc.OpenEmbedded eVMontaVista SoftwareLSI CorporationIntel CorporationFreescale SemiconductorEnea ABWind River SystemsDell

Page 8: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

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

Page 9: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

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

Page 10: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

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

Page 11: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

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

Page 12: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

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 usado em vários

produtos (mesmo em arquiteturas diferentes)● Flexibilidade

○ suporte a aplicação de patches quando necessários○ facilidade de adição de componentes

Page 13: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

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

Page 14: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

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!

Page 15: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo 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

Page 16: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

Autores:● Otavio Salvador● Daiane Angolini

http://bit.ly/yocto-book

Embedded Linux Development with Yocto Project

Page 17: Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo produto

Obrigado!

Perguntas?

Otavio [email protected]