SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
IMAGEM DESTAQUE
Sobre a Emc Logic
● Empresa de consultoria, desenvolvendo e treinamento para software embarcado que
está há 6 anos no mercado
● Somos recomendados na página oficial do Yocto Project como especialistas em
Yocto Project
● Nosso trabalho oferece a simplificação do processo de desenvolvimento de software
embarcado, acelerar o time-to-market dos produtos e sistemas, melhorar a qualidade
e também capacitar equipes com melhores práticas de mercado.
Agenda
● Linux Embarcado e seu ecossistema - desafios!
● Yocto Project e sua arquitetura
● Aplicações e utilização do Yocto Project no mercado
● Resolvendo problemas de reprodutibilidade, licenciamento e time-to-market
● Caminhos para aprenderYocto Project
Linux Embarcado - desafios!
● O termo “Linux” é comumente utilizado para descrever sistemas Operacionais Linux mas na
verdade “Linux” é o nome do kernel do sistema operacional.
● A primeira versão do Linux foi lançada há mais de 30 anos
● Seu código é composto de milhões de linhas de código
● Linux roda em praticamente quase todo tipo de hardware e hoje encontramos ele em desktops,
notebooks, servidores, supercomputadores, celulares, sistemas embarcados e dispositivos
eletrônicos.
Linux Embarcado - desafios!
● Além do kernel, um sistema linux possui centenas de softwares e bibliotecas que compõem o
sistema.
● Esses softwares possuem versionamento, licença e dependências.
● Para manter o sistema atualizado e seguro, uma maneira trivial é ter consciência de correções e
patchs de seguranças que normalmente são apresentados à comunidade por meio de CVEs
(Commum Vunerabilities and Exposures).
Linux Embarcado - desafios!
Linux Embarcado - desafios!
hardware
bootloader
kernel
userspace
Linux Embarcado - desafios!
https://embarcados.com.br/webinar-por-que-dominar-sistema-operacional-linux-deveria-
ser-a-sua-prioridade/
Linux Embarcado - desafios!
https://embarcados.com.br/e-b
ooks/e-book-descobrindo-o-lin
ux-embarcado/
Yocto Project e sua arquitetura
● O Yocto Project trabalha com a manipulação de Metadados.
● Metadados são os conceitos de receitas, camadas, distros e machines. Todos
eles podem ser reutilizados.
● Todos os metadados são descritos via código e podemos ir melhorando ao
longo do tempo (versionar também).
● Os resultados esperados são o download do código-fonte,
aplicação de patchs, configuração, compilação,
instalação e geração de imagem.
DISTRO
MACHINE IMAGE
Yocto Project e sua arquitetura
inputs
inputs
outputs
outputs
Yocto Project e sua arquitetura
https://embarcados.com.br/webinar-utilizando-o-yocto-project-para-automatizar-o-desenvolvime
nto-em-linux-embarcado/
Aplicações e uso do Yocto no mercado
https://github.com/webosose/meta-weboso
se
https://www.webosose.org/docs/guides/se
tup/building-webos-ose/
Aplicações e uso do Yocto no mercado
https://developer.toradex.com/torizon/in-depth/build-torizoncore-from-source-with
-yocto-projectopenembedded/
https://developer.toradex.com/linux-bsp/
Aplicações e uso do Yocto no mercado
https://wiki.st.com/stm32mpu/wiki/OpenEmbedded
Aplicações e uso do Yocto no mercado
https://software-dl.ti.com/processor-sdk-linux/es
d/AM64X/07_03_01_006/exports/docs/linux/Rel
ease_Specific_CoreSDK_Yocto_layer_Configur
ation.html
Aplicações e uso do Yocto no mercado
Resolvendo desafios com Yocto - Reprodutibilidade
receitas camadas distro machine
Versionamento código
Controle da origem do código fonte, hash
do commit e etc
Resolvendo desafios com Yocto - Reprodutibilidade
https://layers.openembedded.org/layerindex/branc
h/kirkstone/layer/meta-ti-bsp/
Resolvendo desafios com Yocto - Licenciamento
● SBOM: Este termo significa "Lista de Materiais de Software".
Ao distribuir software, ele oferece uma descrição de todos os
componentes utilizados, suas licenças correspondentes,
suas dependências, as alterações que foram aplicadas e as
vulnerabilidades conhecidas que foram corrigidas.
● Isso pode ser utilizado pelos destinatários do software para
avaliar sua exposição a questões de conformidade de licença
e vulnerabilidades de segurança.
● Consulte o artigo "Cadeia de Suprimentos de Software" na
Wikipedia para mais detalhes.
Resolvendo desafios com Yocto - time-to-market
Yocto Build
Server
build
image
SDK
developer
Apps
Resolvendo desafios com Yocto - time-to-market
Yocto Build
Server
build
image
eSDK
developer
Apps
image
extended SDK
Caminhos para aprenderYocto
● O processo de aprendizado do Yocto Project possui uma grande
curva de aprendizado
● Além da dificuldade em si da ferramenta, seus componentes,
sintaxe e processos, possuímos as complicações que vem com
os vários pacotes de software, cada um com sua complexidade
interna
● A ferramenta faz uso extenso de linha de comando
● Somado a isso, também possuímos dificuldades na utilização da
ferramenta, que pode demandar muito poder computacional e
gerar builds demorados
● O processo de debug de uma compilação não é trivial
Caminhos para aprenderYocto
Caminhos para aprenderYocto
- Mão na massa:
git clone -b mickledore git://git.yoctoproject.org/poky.git
- Documentação oficial -
https://docs.yoctoproject.org/
- Open-embedded layers -
https://layers.openembedded.org/layerindex/branc
h/master/layers/
Caminhos para aprenderYocto
- Tutoriais/webinars - https://www.youtube.com/@LinuxfoundationOrg/search?query=yocto
- Livros
- Cursos e treinamento
Lançamento do Curso do Embarcados
https://cursos.embarcados.com.br/cursos/criando-sistemas-linux-embarcado-com-yoc/
www.embarcados.com.br
linkedin.com/embarcados
@portalembarcados
youtube/Embarcados TV
OBRIGADO!

Mais conteúdo relacionado

Semelhante a Como usar o Yocto Project para desenvolvimento de sistemas embarcados

Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfJoberthSilva
 
Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfJoberthSilva
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de MicroservicosNorberto Enomoto
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
FLTK Summer Course - Part I - First Impact
FLTK Summer Course - Part I - First ImpactFLTK Summer Course - Part I - First Impact
FLTK Summer Course - Part I - First ImpactMichel Alves
 
Apresentação Semi-Final
Apresentação Semi-FinalApresentação Semi-Final
Apresentação Semi-FinalJordan Claussen
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxRoberto Nunes
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
 
Alfa con 1 -introducao-a-informatica
Alfa con 1 -introducao-a-informaticaAlfa con 1 -introducao-a-informatica
Alfa con 1 -introducao-a-informaticaJane Cesca
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaRosicleia Frasson
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimentoGabriel Moura
 
IES - Aula 01 - 02.08
IES - Aula 01 - 02.08IES - Aula 01 - 02.08
IES - Aula 01 - 02.08Gilson Silva
 
Engenharia de software categorias de software
Engenharia de software   categorias de softwareEngenharia de software   categorias de software
Engenharia de software categorias de softwareFernando Gomes Chaves
 
O Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsO Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsAlessandro Binhara
 
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsPalestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsAlessandro Binhara
 

Semelhante a Como usar o Yocto Project para desenvolvimento de sistemas embarcados (20)

Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdf
 
Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdf
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
FLTK Summer Course - Part I - First Impact
FLTK Summer Course - Part I - First ImpactFLTK Summer Course - Part I - First Impact
FLTK Summer Course - Part I - First Impact
 
Unidade 3 - Ambientes Operacionais
Unidade 3 - Ambientes OperacionaisUnidade 3 - Ambientes Operacionais
Unidade 3 - Ambientes Operacionais
 
Apresentação Semi-Final
Apresentação Semi-FinalApresentação Semi-Final
Apresentação Semi-Final
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptx
 
Int305 projeto mono-final
Int305 projeto mono-finalInt305 projeto mono-final
Int305 projeto mono-final
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Alfa con 1 -introducao-a-informatica
Alfa con 1 -introducao-a-informaticaAlfa con 1 -introducao-a-informatica
Alfa con 1 -introducao-a-informatica
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com Java
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 
IES - Aula 01 - 02.08
IES - Aula 01 - 02.08IES - Aula 01 - 02.08
IES - Aula 01 - 02.08
 
Embarcado
EmbarcadoEmbarcado
Embarcado
 
Engenharia de software categorias de software
Engenharia de software   categorias de softwareEngenharia de software   categorias de software
Engenharia de software categorias de software
 
O Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsO Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não Windows
 
Mc1 JAVA
Mc1 JAVAMc1 JAVA
Mc1 JAVA
 
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsPalestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
 

Mais de Embarcados

Webinar: Controle de motores BLDC e de indução trifásico
Webinar: Controle de motores BLDC e de indução trifásicoWebinar: Controle de motores BLDC e de indução trifásico
Webinar: Controle de motores BLDC e de indução trifásicoEmbarcados
 
Webinar_ Julho 2023 - Embarcados.pdf
Webinar_ Julho 2023 - Embarcados.pdfWebinar_ Julho 2023 - Embarcados.pdf
Webinar_ Julho 2023 - Embarcados.pdfEmbarcados
 
Webinar: Especificação de Componentes Passivos
Webinar: Especificação de Componentes PassivosWebinar: Especificação de Componentes Passivos
Webinar: Especificação de Componentes PassivosEmbarcados
 
Webinar: Projeto de hardware utilizando Conversores DC/DC
Webinar: Projeto de hardware utilizando Conversores DC/DCWebinar: Projeto de hardware utilizando Conversores DC/DC
Webinar: Projeto de hardware utilizando Conversores DC/DCEmbarcados
 
Webinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraWebinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraEmbarcados
 
Webinar: Bancada de eletrônica profissional
Webinar: Bancada de eletrônica profissionalWebinar: Bancada de eletrônica profissional
Webinar: Bancada de eletrônica profissionalEmbarcados
 
Webinar: Como projetar sensores de baixo consumo utilizando microcontroladore...
Webinar: Como projetar sensores de baixo consumo utilizando microcontroladore...Webinar: Como projetar sensores de baixo consumo utilizando microcontroladore...
Webinar: Como projetar sensores de baixo consumo utilizando microcontroladore...Embarcados
 
Webinar: Desvendando o seguidor de linha: sensores, montagem e programação co...
Webinar: Desvendando o seguidor de linha: sensores, montagem e programação co...Webinar: Desvendando o seguidor de linha: sensores, montagem e programação co...
Webinar: Desvendando o seguidor de linha: sensores, montagem e programação co...Embarcados
 
Webinar Gravado: Um Estudo sobre a I2C e o Futuro com a I3C
Webinar Gravado: Um Estudo sobre a I2C e o Futuro com a I3CWebinar Gravado: Um Estudo sobre a I2C e o Futuro com a I3C
Webinar Gravado: Um Estudo sobre a I2C e o Futuro com a I3CEmbarcados
 
Webinar: Microcontroladores Infineon TRAVEO T2G
Webinar: Microcontroladores Infineon TRAVEO T2GWebinar: Microcontroladores Infineon TRAVEO T2G
Webinar: Microcontroladores Infineon TRAVEO T2GEmbarcados
 
Webinar: Introdução à Reconfiguração dinâmica parcial em FPGAs
Webinar: Introdução à Reconfiguração dinâmica parcial em FPGAsWebinar: Introdução à Reconfiguração dinâmica parcial em FPGAs
Webinar: Introdução à Reconfiguração dinâmica parcial em FPGAsEmbarcados
 
Webinar: Microprocessadores 32 bits, suas principais aplicações no mercado br...
Webinar: Microprocessadores 32 bits, suas principais aplicações no mercado br...Webinar: Microprocessadores 32 bits, suas principais aplicações no mercado br...
Webinar: Microprocessadores 32 bits, suas principais aplicações no mercado br...Embarcados
 
Cristais e Ressonadores Murata
Cristais e Ressonadores MurataCristais e Ressonadores Murata
Cristais e Ressonadores MurataEmbarcados
 
Webinar: Silicon Carbide (SiC): A tecnologia do futuro para projetos de potência
Webinar: Silicon Carbide (SiC): A tecnologia do futuro para projetos de potênciaWebinar: Silicon Carbide (SiC): A tecnologia do futuro para projetos de potência
Webinar: Silicon Carbide (SiC): A tecnologia do futuro para projetos de potênciaEmbarcados
 
Webinar: Por que dominar sistema operacional Linux deveria ser a sua prioridade?
Webinar: Por que dominar sistema operacional Linux deveria ser a sua prioridade?Webinar: Por que dominar sistema operacional Linux deveria ser a sua prioridade?
Webinar: Por que dominar sistema operacional Linux deveria ser a sua prioridade?Embarcados
 
Webinar: Estratégias para comprar componentes eletrônicos em tempos de escassez
Webinar: Estratégias para comprar componentes eletrônicos em tempos de escassezWebinar: Estratégias para comprar componentes eletrônicos em tempos de escassez
Webinar: Estratégias para comprar componentes eletrônicos em tempos de escassezEmbarcados
 
Webinar: ChatGPT - A nova ferramenta de IA pode ameaçar ou turbinar a sua car...
Webinar: ChatGPT - A nova ferramenta de IA pode ameaçar ou turbinar a sua car...Webinar: ChatGPT - A nova ferramenta de IA pode ameaçar ou turbinar a sua car...
Webinar: ChatGPT - A nova ferramenta de IA pode ameaçar ou turbinar a sua car...Embarcados
 
Webinar: Power over Ethernet (PoE) e suas aplicações no mercado brasileiro
Webinar: Power over Ethernet (PoE) e suas aplicações no mercado brasileiroWebinar: Power over Ethernet (PoE) e suas aplicações no mercado brasileiro
Webinar: Power over Ethernet (PoE) e suas aplicações no mercado brasileiroEmbarcados
 
Webinar: A revolução da Ethernet a um par de cabo
Webinar: A revolução da Ethernet a um par de caboWebinar: A revolução da Ethernet a um par de cabo
Webinar: A revolução da Ethernet a um par de caboEmbarcados
 
Webinar: Desvendando as camadas de IoT
Webinar: Desvendando as camadas de IoTWebinar: Desvendando as camadas de IoT
Webinar: Desvendando as camadas de IoTEmbarcados
 

Mais de Embarcados (20)

Webinar: Controle de motores BLDC e de indução trifásico
Webinar: Controle de motores BLDC e de indução trifásicoWebinar: Controle de motores BLDC e de indução trifásico
Webinar: Controle de motores BLDC e de indução trifásico
 
Webinar_ Julho 2023 - Embarcados.pdf
Webinar_ Julho 2023 - Embarcados.pdfWebinar_ Julho 2023 - Embarcados.pdf
Webinar_ Julho 2023 - Embarcados.pdf
 
Webinar: Especificação de Componentes Passivos
Webinar: Especificação de Componentes PassivosWebinar: Especificação de Componentes Passivos
Webinar: Especificação de Componentes Passivos
 
Webinar: Projeto de hardware utilizando Conversores DC/DC
Webinar: Projeto de hardware utilizando Conversores DC/DCWebinar: Projeto de hardware utilizando Conversores DC/DC
Webinar: Projeto de hardware utilizando Conversores DC/DC
 
Webinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraWebinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP segura
 
Webinar: Bancada de eletrônica profissional
Webinar: Bancada de eletrônica profissionalWebinar: Bancada de eletrônica profissional
Webinar: Bancada de eletrônica profissional
 
Webinar: Como projetar sensores de baixo consumo utilizando microcontroladore...
Webinar: Como projetar sensores de baixo consumo utilizando microcontroladore...Webinar: Como projetar sensores de baixo consumo utilizando microcontroladore...
Webinar: Como projetar sensores de baixo consumo utilizando microcontroladore...
 
Webinar: Desvendando o seguidor de linha: sensores, montagem e programação co...
Webinar: Desvendando o seguidor de linha: sensores, montagem e programação co...Webinar: Desvendando o seguidor de linha: sensores, montagem e programação co...
Webinar: Desvendando o seguidor de linha: sensores, montagem e programação co...
 
Webinar Gravado: Um Estudo sobre a I2C e o Futuro com a I3C
Webinar Gravado: Um Estudo sobre a I2C e o Futuro com a I3CWebinar Gravado: Um Estudo sobre a I2C e o Futuro com a I3C
Webinar Gravado: Um Estudo sobre a I2C e o Futuro com a I3C
 
Webinar: Microcontroladores Infineon TRAVEO T2G
Webinar: Microcontroladores Infineon TRAVEO T2GWebinar: Microcontroladores Infineon TRAVEO T2G
Webinar: Microcontroladores Infineon TRAVEO T2G
 
Webinar: Introdução à Reconfiguração dinâmica parcial em FPGAs
Webinar: Introdução à Reconfiguração dinâmica parcial em FPGAsWebinar: Introdução à Reconfiguração dinâmica parcial em FPGAs
Webinar: Introdução à Reconfiguração dinâmica parcial em FPGAs
 
Webinar: Microprocessadores 32 bits, suas principais aplicações no mercado br...
Webinar: Microprocessadores 32 bits, suas principais aplicações no mercado br...Webinar: Microprocessadores 32 bits, suas principais aplicações no mercado br...
Webinar: Microprocessadores 32 bits, suas principais aplicações no mercado br...
 
Cristais e Ressonadores Murata
Cristais e Ressonadores MurataCristais e Ressonadores Murata
Cristais e Ressonadores Murata
 
Webinar: Silicon Carbide (SiC): A tecnologia do futuro para projetos de potência
Webinar: Silicon Carbide (SiC): A tecnologia do futuro para projetos de potênciaWebinar: Silicon Carbide (SiC): A tecnologia do futuro para projetos de potência
Webinar: Silicon Carbide (SiC): A tecnologia do futuro para projetos de potência
 
Webinar: Por que dominar sistema operacional Linux deveria ser a sua prioridade?
Webinar: Por que dominar sistema operacional Linux deveria ser a sua prioridade?Webinar: Por que dominar sistema operacional Linux deveria ser a sua prioridade?
Webinar: Por que dominar sistema operacional Linux deveria ser a sua prioridade?
 
Webinar: Estratégias para comprar componentes eletrônicos em tempos de escassez
Webinar: Estratégias para comprar componentes eletrônicos em tempos de escassezWebinar: Estratégias para comprar componentes eletrônicos em tempos de escassez
Webinar: Estratégias para comprar componentes eletrônicos em tempos de escassez
 
Webinar: ChatGPT - A nova ferramenta de IA pode ameaçar ou turbinar a sua car...
Webinar: ChatGPT - A nova ferramenta de IA pode ameaçar ou turbinar a sua car...Webinar: ChatGPT - A nova ferramenta de IA pode ameaçar ou turbinar a sua car...
Webinar: ChatGPT - A nova ferramenta de IA pode ameaçar ou turbinar a sua car...
 
Webinar: Power over Ethernet (PoE) e suas aplicações no mercado brasileiro
Webinar: Power over Ethernet (PoE) e suas aplicações no mercado brasileiroWebinar: Power over Ethernet (PoE) e suas aplicações no mercado brasileiro
Webinar: Power over Ethernet (PoE) e suas aplicações no mercado brasileiro
 
Webinar: A revolução da Ethernet a um par de cabo
Webinar: A revolução da Ethernet a um par de caboWebinar: A revolução da Ethernet a um par de cabo
Webinar: A revolução da Ethernet a um par de cabo
 
Webinar: Desvendando as camadas de IoT
Webinar: Desvendando as camadas de IoTWebinar: Desvendando as camadas de IoT
Webinar: Desvendando as camadas de IoT
 

Como usar o Yocto Project para desenvolvimento de sistemas embarcados

  • 2.
  • 3. Sobre a Emc Logic ● Empresa de consultoria, desenvolvendo e treinamento para software embarcado que está há 6 anos no mercado ● Somos recomendados na página oficial do Yocto Project como especialistas em Yocto Project ● Nosso trabalho oferece a simplificação do processo de desenvolvimento de software embarcado, acelerar o time-to-market dos produtos e sistemas, melhorar a qualidade e também capacitar equipes com melhores práticas de mercado.
  • 4. Agenda ● Linux Embarcado e seu ecossistema - desafios! ● Yocto Project e sua arquitetura ● Aplicações e utilização do Yocto Project no mercado ● Resolvendo problemas de reprodutibilidade, licenciamento e time-to-market ● Caminhos para aprenderYocto Project
  • 5. Linux Embarcado - desafios! ● O termo “Linux” é comumente utilizado para descrever sistemas Operacionais Linux mas na verdade “Linux” é o nome do kernel do sistema operacional. ● A primeira versão do Linux foi lançada há mais de 30 anos ● Seu código é composto de milhões de linhas de código ● Linux roda em praticamente quase todo tipo de hardware e hoje encontramos ele em desktops, notebooks, servidores, supercomputadores, celulares, sistemas embarcados e dispositivos eletrônicos.
  • 6. Linux Embarcado - desafios! ● Além do kernel, um sistema linux possui centenas de softwares e bibliotecas que compõem o sistema. ● Esses softwares possuem versionamento, licença e dependências. ● Para manter o sistema atualizado e seguro, uma maneira trivial é ter consciência de correções e patchs de seguranças que normalmente são apresentados à comunidade por meio de CVEs (Commum Vunerabilities and Exposures).
  • 7. Linux Embarcado - desafios!
  • 8. Linux Embarcado - desafios! hardware bootloader kernel userspace
  • 9. Linux Embarcado - desafios! https://embarcados.com.br/webinar-por-que-dominar-sistema-operacional-linux-deveria- ser-a-sua-prioridade/
  • 10. Linux Embarcado - desafios! https://embarcados.com.br/e-b ooks/e-book-descobrindo-o-lin ux-embarcado/
  • 11. Yocto Project e sua arquitetura ● O Yocto Project trabalha com a manipulação de Metadados. ● Metadados são os conceitos de receitas, camadas, distros e machines. Todos eles podem ser reutilizados. ● Todos os metadados são descritos via código e podemos ir melhorando ao longo do tempo (versionar também). ● Os resultados esperados são o download do código-fonte, aplicação de patchs, configuração, compilação, instalação e geração de imagem. DISTRO MACHINE IMAGE
  • 12. Yocto Project e sua arquitetura inputs inputs outputs outputs
  • 13. Yocto Project e sua arquitetura https://embarcados.com.br/webinar-utilizando-o-yocto-project-para-automatizar-o-desenvolvime nto-em-linux-embarcado/
  • 14. Aplicações e uso do Yocto no mercado https://github.com/webosose/meta-weboso se https://www.webosose.org/docs/guides/se tup/building-webos-ose/
  • 15. Aplicações e uso do Yocto no mercado https://developer.toradex.com/torizon/in-depth/build-torizoncore-from-source-with -yocto-projectopenembedded/ https://developer.toradex.com/linux-bsp/
  • 16. Aplicações e uso do Yocto no mercado https://wiki.st.com/stm32mpu/wiki/OpenEmbedded
  • 17. Aplicações e uso do Yocto no mercado https://software-dl.ti.com/processor-sdk-linux/es d/AM64X/07_03_01_006/exports/docs/linux/Rel ease_Specific_CoreSDK_Yocto_layer_Configur ation.html
  • 18. Aplicações e uso do Yocto no mercado
  • 19. Resolvendo desafios com Yocto - Reprodutibilidade receitas camadas distro machine Versionamento código Controle da origem do código fonte, hash do commit e etc
  • 20. Resolvendo desafios com Yocto - Reprodutibilidade https://layers.openembedded.org/layerindex/branc h/kirkstone/layer/meta-ti-bsp/
  • 21. Resolvendo desafios com Yocto - Licenciamento ● SBOM: Este termo significa "Lista de Materiais de Software". Ao distribuir software, ele oferece uma descrição de todos os componentes utilizados, suas licenças correspondentes, suas dependências, as alterações que foram aplicadas e as vulnerabilidades conhecidas que foram corrigidas. ● Isso pode ser utilizado pelos destinatários do software para avaliar sua exposição a questões de conformidade de licença e vulnerabilidades de segurança. ● Consulte o artigo "Cadeia de Suprimentos de Software" na Wikipedia para mais detalhes.
  • 22. Resolvendo desafios com Yocto - time-to-market Yocto Build Server build image SDK developer Apps
  • 23. Resolvendo desafios com Yocto - time-to-market Yocto Build Server build image eSDK developer Apps image extended SDK
  • 24. Caminhos para aprenderYocto ● O processo de aprendizado do Yocto Project possui uma grande curva de aprendizado ● Além da dificuldade em si da ferramenta, seus componentes, sintaxe e processos, possuímos as complicações que vem com os vários pacotes de software, cada um com sua complexidade interna ● A ferramenta faz uso extenso de linha de comando ● Somado a isso, também possuímos dificuldades na utilização da ferramenta, que pode demandar muito poder computacional e gerar builds demorados ● O processo de debug de uma compilação não é trivial
  • 26. Caminhos para aprenderYocto - Mão na massa: git clone -b mickledore git://git.yoctoproject.org/poky.git - Documentação oficial - https://docs.yoctoproject.org/ - Open-embedded layers - https://layers.openembedded.org/layerindex/branc h/master/layers/
  • 27. Caminhos para aprenderYocto - Tutoriais/webinars - https://www.youtube.com/@LinuxfoundationOrg/search?query=yocto - Livros - Cursos e treinamento
  • 28. Lançamento do Curso do Embarcados https://cursos.embarcados.com.br/cursos/criando-sistemas-linux-embarcado-com-yoc/