SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Yocto Project
reduzindo "time to market" do seu próximo
produto
Otavio Salvador
otavio@ossystems.com.br
● 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
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 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
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
Autores:
● Otavio Salvador
● Daiane Angolini
http://bit.ly/yocto-book
Embedded Linux Development with
Yocto Project
Obrigado!
Perguntas?
Otavio Salvador
otavio@ossystems.com.br

Mais conteúdo relacionado

Mais procurados

Distribuições Linux
Distribuições LinuxDistribuições Linux
Distribuições LinuxAlmir Mendes
 
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018Renato Groff
 
Controle de versão utilizando git
Controle de versão utilizando gitControle de versão utilizando git
Controle de versão utilizando gitfredmosc
 
Qgisbrasil 2 anos
Qgisbrasil 2 anosQgisbrasil 2 anos
Qgisbrasil 2 anosananni
 
Busca CfhBusca de informação em arquivos abertos e o acesso livre
Busca CfhBusca de informação em arquivos abertos e o acesso livreBusca CfhBusca de informação em arquivos abertos e o acesso livre
Busca CfhBusca de informação em arquivos abertos e o acesso livreUFSC
 
Git e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubGit e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubBruno Orlandi
 
Linux: alternativa ou escolha
Linux: alternativa ou escolhaLinux: alternativa ou escolha
Linux: alternativa ou escolhaJoão Nascimento
 
Palestra Software Livre [UPDATE]
Palestra Software Livre [UPDATE]Palestra Software Livre [UPDATE]
Palestra Software Livre [UPDATE]Edson Silva
 
20 anos de KDE: de Desktop a Guarda-Chuva de Projetos
20 anos de KDE: de Desktop a Guarda-Chuva de Projetos20 anos de KDE: de Desktop a Guarda-Chuva de Projetos
20 anos de KDE: de Desktop a Guarda-Chuva de ProjetosAracele Torres
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João PessoaOpenBossa
 
30 anos de software livre: uma análise histórica
30 anos de software livre: uma análise histórica30 anos de software livre: uma análise histórica
30 anos de software livre: uma análise históricaAracele Torres
 
O que e Software Livre e Comunidade ParaLivre
O que e Software Livre e Comunidade ParaLivreO que e Software Livre e Comunidade ParaLivre
O que e Software Livre e Comunidade ParaLivreParaLivre
 
Sofware Livre e Comunidade PotiLivre SETIC IFRN-SGA
Sofware Livre e Comunidade PotiLivre SETIC IFRN-SGASofware Livre e Comunidade PotiLivre SETIC IFRN-SGA
Sofware Livre e Comunidade PotiLivre SETIC IFRN-SGAPotiLivre Sobrenome
 
Treinamento - Iniciando no Git e Github by Leandro Alves
Treinamento  - Iniciando no Git e Github by Leandro AlvesTreinamento  - Iniciando no Git e Github by Leandro Alves
Treinamento - Iniciando no Git e Github by Leandro AlvesLeandro Alves
 

Mais procurados (20)

Distribuições Linux
Distribuições LinuxDistribuições Linux
Distribuições Linux
 
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018
 
Software livre
Software livreSoftware livre
Software livre
 
Git
GitGit
Git
 
Controle de versão utilizando git
Controle de versão utilizando gitControle de versão utilizando git
Controle de versão utilizando git
 
Introdução ao Qt
Introdução ao QtIntrodução ao Qt
Introdução ao Qt
 
Qgisbrasil 2 anos
Qgisbrasil 2 anosQgisbrasil 2 anos
Qgisbrasil 2 anos
 
Busca CfhBusca de informação em arquivos abertos e o acesso livre
Busca CfhBusca de informação em arquivos abertos e o acesso livreBusca CfhBusca de informação em arquivos abertos e o acesso livre
Busca CfhBusca de informação em arquivos abertos e o acesso livre
 
Linux
LinuxLinux
Linux
 
Git e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubGit e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHub
 
Linux: alternativa ou escolha
Linux: alternativa ou escolhaLinux: alternativa ou escolha
Linux: alternativa ou escolha
 
Meetup-Churrops
Meetup-ChurropsMeetup-Churrops
Meetup-Churrops
 
Palestra Software Livre [UPDATE]
Palestra Software Livre [UPDATE]Palestra Software Livre [UPDATE]
Palestra Software Livre [UPDATE]
 
Git para Designers
Git para DesignersGit para Designers
Git para Designers
 
20 anos de KDE: de Desktop a Guarda-Chuva de Projetos
20 anos de KDE: de Desktop a Guarda-Chuva de Projetos20 anos de KDE: de Desktop a Guarda-Chuva de Projetos
20 anos de KDE: de Desktop a Guarda-Chuva de Projetos
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João Pessoa
 
30 anos de software livre: uma análise histórica
30 anos de software livre: uma análise histórica30 anos de software livre: uma análise histórica
30 anos de software livre: uma análise histórica
 
O que e Software Livre e Comunidade ParaLivre
O que e Software Livre e Comunidade ParaLivreO que e Software Livre e Comunidade ParaLivre
O que e Software Livre e Comunidade ParaLivre
 
Sofware Livre e Comunidade PotiLivre SETIC IFRN-SGA
Sofware Livre e Comunidade PotiLivre SETIC IFRN-SGASofware Livre e Comunidade PotiLivre SETIC IFRN-SGA
Sofware Livre e Comunidade PotiLivre SETIC IFRN-SGA
 
Treinamento - Iniciando no Git e Github by Leandro Alves
Treinamento  - Iniciando no Git e Github by Leandro AlvesTreinamento  - Iniciando no Git e Github by Leandro Alves
Treinamento - Iniciando no Git e Github by Leandro Alves
 

Semelhante a Yocto Project: reduzindo time to market do seu próximo produto

Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Embarcados
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorFelipe Pedroso
 
Webinar: Desvendando o Yocto Project
Webinar: Desvendando o Yocto ProjectWebinar: Desvendando o Yocto Project
Webinar: Desvendando o Yocto ProjectEmbarcados
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux EmbarcadoDiego Sueiro
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containerstdc-globalcode
 
Apresentação wxWidgets
Apresentação wxWidgetsApresentação wxWidgets
Apresentação wxWidgetsRenzo Petri
 
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazAplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazTchelinux
 
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressFerramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressTiago Hillebrandt
 
Ferramenta de Cloud Computer para apoio à Engenharia de Software
Ferramenta de Cloud Computer para apoio à Engenharia de SoftwareFerramenta de Cloud Computer para apoio à Engenharia de Software
Ferramenta de Cloud Computer para apoio à Engenharia de SoftwareDanilo Sousa
 
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazNovidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazTchelinux
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com JenkinsAécio Pires
 
Kubernetes New Contributors Workshop - Brasil 2022
Kubernetes New Contributors Workshop - Brasil 2022Kubernetes New Contributors Workshop - Brasil 2022
Kubernetes New Contributors Workshop - Brasil 2022Ricardo Katz
 

Semelhante a Yocto Project: reduzindo time to market do seu próximo produto (20)

Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
 
Webinar: Desvendando o Yocto Project
Webinar: Desvendando o Yocto ProjectWebinar: Desvendando o Yocto Project
Webinar: Desvendando o Yocto Project
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado
 
Open Hardware
Open HardwareOpen Hardware
Open Hardware
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
 
Kinux Linux
Kinux LinuxKinux Linux
Kinux Linux
 
tutorial nagios
tutorial nagiostutorial nagios
tutorial nagios
 
DivX
DivXDivX
DivX
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
Apresentação wxWidgets
Apresentação wxWidgetsApresentação wxWidgets
Apresentação wxWidgets
 
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazAplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressFerramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
 
Ferramenta de Cloud Computer para apoio à Engenharia de Software
Ferramenta de Cloud Computer para apoio à Engenharia de SoftwareFerramenta de Cloud Computer para apoio à Engenharia de Software
Ferramenta de Cloud Computer para apoio à Engenharia de Software
 
Bt4 H2HC6th
Bt4 H2HC6thBt4 H2HC6th
Bt4 H2HC6th
 
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazNovidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 
Apresentação Software Livre
Apresentação Software LivreApresentação Software Livre
Apresentação Software Livre
 
Kubernetes New Contributors Workshop - Brasil 2022
Kubernetes New Contributors Workshop - Brasil 2022Kubernetes New Contributors Workshop - Brasil 2022
Kubernetes New Contributors Workshop - Brasil 2022
 

Mais de Intel Software Brasil

Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™  Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™ Intel Software Brasil
 
Escreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatEscreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatIntel Software Brasil
 
Desafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaDesafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaIntel Software Brasil
 
Desafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaDesafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaIntel Software Brasil
 
Getting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XEGetting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XEIntel Software Brasil
 
Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...Intel Software Brasil
 
Principais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralelaPrincipais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralelaIntel Software Brasil
 
Principais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoPrincipais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoIntel Software Brasil
 
Intel Technologies for High Performance Computing
Intel Technologies for High Performance ComputingIntel Technologies for High Performance Computing
Intel Technologies for High Performance ComputingIntel Software Brasil
 
Benchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoBenchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoIntel Software Brasil
 
Yocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoYocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoIntel Software Brasil
 
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Intel Software Brasil
 
O uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenhoO uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenhoIntel Software Brasil
 

Mais de Intel Software Brasil (20)

Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™  Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™
 
Escreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatEscreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKat
 
Desafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaDesafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento Multiplataforma
 
Desafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaDesafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataforma
 
Yocto - 7 masters
Yocto - 7 mastersYocto - 7 masters
Yocto - 7 masters
 
Getting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XEGetting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XE
 
Intel tools to optimize HPC systems
Intel tools to optimize HPC systemsIntel tools to optimize HPC systems
Intel tools to optimize HPC systems
 
Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...
 
Principais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralelaPrincipais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralela
 
Principais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoPrincipais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorização
 
Notes on NUMA architecture
Notes on NUMA architectureNotes on NUMA architecture
Notes on NUMA architecture
 
Intel Technologies for High Performance Computing
Intel Technologies for High Performance ComputingIntel Technologies for High Performance Computing
Intel Technologies for High Performance Computing
 
Benchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoBenchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenho
 
Yocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoYocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/Vivo
 
Html5 fisl15
Html5 fisl15Html5 fisl15
Html5 fisl15
 
IoT FISL15
IoT FISL15IoT FISL15
IoT FISL15
 
IoT TDC Floripa 2014
IoT TDC Floripa 2014IoT TDC Floripa 2014
IoT TDC Floripa 2014
 
Html5 tdc floripa_2014
Html5 tdc floripa_2014Html5 tdc floripa_2014
Html5 tdc floripa_2014
 
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
 
O uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenhoO uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenho
 

Yocto Project: reduzindo time to market do seu próximo produto

  • 1. Yocto Project reduzindo "time to market" do seu próximo produto Otavio Salvador otavio@ossystems.com.br
  • 2. ● 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
  • 4. 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
  • 5. 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
  • 6. 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, …)
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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!
  • 15. 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
  • 16. Autores: ● Otavio Salvador ● Daiane Angolini http://bit.ly/yocto-book Embedded Linux Development with Yocto Project