Yocto Project

Objetivo

Este treinamento visa capacitar o participante a desenvolver distribuições Linux customizadas com o OpenEmbedded/Yocto Project.


Conteúdo programático

  • Arquitetura de sistemas com Linux embarcado, introdução ao Yocto Project, histórico e motivações do projeto, principais características e arquitetura básica, Poky e seus componentes, documentação do projeto.
  • Introdução ao Poky, preparando a máquina de build, baixando o Poky e estudando sua estrutura, preparando o diretório de build, bblayers.conf e local.conf, processando uma receita de imagem, diretório de saída e imagens geradas, gerando uma imagem para o QEMU.
  • Introdução ao sistema de build, BitBake e metadados, receitas, classes, arquivos de configuração, tipos de camadas (BSP, distro, software), usando o BitBake, funcionamento interno do BitBake, tarefas e gráfico de dependências.
  • Introdução ao conceito de camadas, criando uma camada, estrutura de arquivos e diretórios de uma camada, variáveis do layer.conf, utilizando as ferramentas bitbake-layers e yocto-check-layer.
  • Introdução às receitas, receitas vs pacotes, estrutura de uma receita, principais variáveis utilizadas em receitas, herdando classes e implementando tarefas, etapas do processamento de uma receita, diretório de processamento e logs de uma receita.
  • Conceitos avançados de receitas, sintaxe de atribuição de variáveis do BitBake, overrides e variable flags, arquivos de append, PACKAGECONFIG, diretivas de include e require, versionamento e prioridade, depurando receitas, ferramentas devshell e oe-pkgdata-util, verificações de qualidade (QA checks).
  • Customização de imagens, criando receitas de imagem, grupos de pacotes (packagegroups), funcionalidades de imagens (image features), adicionando usuários e grupos, configurando permissões de arquivos e diretórios do rootfs, scripts de post-install, alterando o formato da imagem, criando arquivos de configuração de distro, variáveis de uma distribuição, distro features, habilitando o gerenciamento de pacotes na distro, dicas para customização e gerenciamento de camadas.
  • Desenvolvimento de camadas de BSP, criando uma camada de BSP, arquivo de configuração de machine, principais variáveis de uma machine, mecanismo de provides, variáveis de compilação do U-Boot e do kernel, funcionalidades de machine (machine features), criando receitas de bootloader, criando receitas de kernel e módulos do kernel, aplicando patches e alterando a configuração do kernel, kernel advanced metadata.
  • Trabalhando com SDK (Software Development Kit), componentes de um SDK (toolchain, sysroot, scripts e ferramentas adicionais), tipos de toolchain, gerando SDKs, receita meta-toolchain, tarefas populate_sdk e populate_sdk_ext, instalando e utilizando SDKs, Extensible SDK (eSDK) e a ferramenta devtool.
  • Ferramentas e recursos adicionais, gerenciamento de licenças, caches de compilação (shared state cache), históricos de build (build history), Toaster, ferramenta recipetool, ferramentas de compilação (build appliance, CROPS, autobuilder).
  • Considerações finais, links e referências de estudo, livros, conclusão do treinamento.

Para mais detalhes sobre o conteúdo, você pode consultar a agenda e os slides do treinamento.


Informações adicionais

Estudantes, engenheiros, desenvolvedores e líderes de equipes de desenvolvimento de software para sistemas embarcados.

Conhecimentos básicos de ferramentas de linha de comando GNU/Linux (cat, find, grep, ps, vi, etc), arquitetura de sistemas com Linux embarcado, linguagem C, uso de toolchain e ferramentas de compilação (gcc, make, autotools).

O material de estudo é composto pelos slides das apresentações, o livro de atividades e exercícios, os guias de referência e documentos de estudo adicionais. Todo o material será fornecido de forma eletrônica no início do treinamento.

Os exercícios do treinamento podem ser realizados no emulador (QEMU) ou em um kit de desenvolvimento baseado no SoM Colibri i.MX6 (ARM Cortex-A9) da Toradex. O kit de desenvolvimento é emprestado aos alunos para a execução das atividades práticas. Se necessário, e conforme a necessidade da empresa contratante, o treinamento pode ser realizado em uma outra plataforma de desenvolvimento.

O treinamento pode ser apresentado nos seguintes idiomas: Português brasileiro e Inglês.

Se você planeja capacitar a sua equipe, considere um treinamento na sua empresa. Nos treinamentos in-company, a empresa contratante é responsável por fornecer os recursos necessários para a realização do treinamento, incluindo sala, projetor e máquinas de desenvolvimento para os alunos. Esse modelo traz grande economia para a empresa, já que o custo do transporte e estadia de vários funcionários é reduzido apenas ao do instrutor. Caso a empresa contratante tenha alguma necessidade específica, podemos estudar a criação de um conteúdo programático especial, como preparar o treinamento para uma plataforma de hardware específica ou desenvolver algum conteúdo adicional. Não hesite em entrar em contato por e-mail ou pela página de contato .

Os treinamentos em turmas abertas são realizados em um ambiente agradável, com um laboratório devidamente equipado e acesso à Internet. As aulas são normalmente ministradas em período integral, com uma parada para o almoço e um coffee-break pela manhã. Caso tenha interesse em participar de um treinamento mas não exista uma turma disponível, envie uma mensagem pela página de contato que avisamos assim que uma nova turma for aberta.

Este treinamento pode ser realizado de forma online. Os treinamentos online são apresentados ao vivo em uma plataforma de reunião virtual como o Google Meet ou o Zoom. Na modalidade online, os alunos utilizam o emulador (QEMU) para realizar as atividades práticas.


Galeria de fotos

Algumas fotos dos treinamentos já realizados:

Depoimentos de clientes

Depoimentos de empresas e alunos que já participaram dos treinamentos da Embedded Labworks

highlight shape

A Samsung é uma empresa líder no mercado de alta tecnologia e mídias digitais

“Um dos melhores treinamentos que já recebi. O instrutor tem total domínio do conteúdo e uma excelente didática”

Adriano Saviolli, Samsung

A LG Electronics é uma gigante multinacional sul-coreana e uma das maiores companhias de eletroeletrônicos do Brasil

“Costumo ser muito crítico e faz tempo que não avalio um treinamento com notas máximas em todos os quesitos. Parabéns pelo treinamento!”

Vitor de Paula, LG Electronics

AOC International é a marca da TPV Technology Limited, uma fabricante de monitores LCD e LED para computadores e televisores

“Treinamento diferenciado e sem dúvida muito mais valioso que muitas graduações que temos hoje do assunto”

Lucas Tadeu Portela, AOC International

O Centro Tecnológico do Exército (CTEx) é uma organização militar subordinada ao departamento de ciência e tecnologia do governo brasileiro

“Didático e dinâmico, o treinamento atendeu plenamente a todos os objetivos propostos, além de motivar o aprofundamento do conhecimento em Linux. Recomendo!”

José Antonio de Sousa Fernandes, CTEx

O Inatel (Instituto Nacional de Telecomunicações) é um centro de excelência em ensino e pesquisa na área de engenharia

“Treinamento de alta qualidade, com muito conteúdo útil e altamente estruturado”

Luis Gustavo, Inatel

A Intelbrás é uma empresa 100% brasileira e que atua nas áreas de segurança, telecom e redes, sendo líder em vários segmentos nos quais atua

“Um excelente profissional aplicando um excelente treinamento prático e com rico material de apoio. Obrigado pela ampliação de conhecimentos!”

Paulo Morgado, Intelbrás

Ainda tem dúvidas?

Envie um e-mail para info@e-labworks.com ou deixe uma mensagem preenchendo o formulário abaixo:

Newsletter

Inscreva-se na newsletter da Embedded Labworks para receber notícias sobre treinamentos, serviços e novidades na área de sistemas embarcados.

highlight shape