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!

Webinar: Desvendando o Yocto Project

  • 1.
  • 3.
    Sobre a EmcLogic ● 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 Embarcadoe 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.
  • 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 esua 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 esua arquitetura inputs inputs outputs outputs
  • 13.
    Yocto Project esua arquitetura https://embarcados.com.br/webinar-utilizando-o-yocto-project-para-automatizar-o-desenvolvime nto-em-linux-embarcado/
  • 14.
    Aplicações e usodo 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 usodo 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 usodo Yocto no mercado https://wiki.st.com/stm32mpu/wiki/OpenEmbedded
  • 17.
    Aplicações e usodo 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 usodo Yocto no mercado
  • 19.
    Resolvendo desafios comYocto - Reprodutibilidade receitas camadas distro machine Versionamento código Controle da origem do código fonte, hash do commit e etc
  • 20.
    Resolvendo desafios comYocto - Reprodutibilidade https://layers.openembedded.org/layerindex/branc h/kirkstone/layer/meta-ti-bsp/
  • 21.
    Resolvendo desafios comYocto - 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 comYocto - time-to-market Yocto Build Server build image SDK developer Apps
  • 23.
    Resolvendo desafios comYocto - 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
  • 25.
  • 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 Cursodo Embarcados https://cursos.embarcados.com.br/cursos/criando-sistemas-linux-embarcado-com-yoc/
  • 29.