Programa do Curso

Esboço de Curso

Introdução

  • história do Unix/Linux, licenças, padrões, trabalho com software livre, busca de ajuda, exploração, a filosofia Unix

Especificidades incorporadas

  • Linux no desktop em comparação com Linux em um sistema embarcado, conjuntos de ferramentas cruzados/nativos, conjuntos de ferramentas pré-construídos, sistemas de construção, bibliotecas C,...

Quadro de avaliação

  • Como ele inicializa?, Veja inicializando

Introdução ao Yocto

  • O que é Yocto: Por que usar o YP? O que é YP?, Poky, BitBake, OE-Core, Metadados

O construtor automático YP

  • O que é o YP Autobuilder?, Docker container (pull, launch container)

O fluxo de trabalho YP

  • Introdução
  • Fluxo de trabalho, arquitetura OE
  • Configuração (Usuário, Metadados, Máquina, Política de Distribuição)
  • Fontes
  • Build (busca de código-fonte, aplicação de patch, configuração/compilação/instalação, pseudo, exemplos de receitas, análise/empacotamento de saída, geração de imagem, geração de SDK)
  • Personalização de imagens (introdução, local.conf, IMAGE_FEATURES, arquivos .bb personalizados, grupos de pacotes personalizados)

BitBake

  • História
  • Sintaxe
  • Depuração (nível de depuração, encontrar receitas/imagens/grupos de pacotes, ambiente/tarefas/registro do BitBake, forçar construção/tarefa específica, cleanstate, invalidar carimbo, devshell, explorador de dependência, eliminar todas as instâncias do BitBake, wrapper gráfico do BitBake)

Camadas

  • Introdução, ferramenta bitbake-layers, ferramenta yocto-layer

BSP

  • Introdução, Fluxo de trabalho de desenvolvimento de sistema, Guia do desenvolvedor BSP (bsp-tool)

Núcleo

  • Introdução, Fluxo de trabalho de desenvolvimento do sistema, Manual de desenvolvimento do kernel (defconfig, defconfig + fragmento de configuração, kmod na árvore, kmod fora da árvore, fdt,…)

Kit de ferramentas de desenvolvimento de aplicativos

  • Introdução, cadeia de ferramentas de desenvolvimento cruzado, Sysroot, plug-in ADT-Eclipse Yocto, emulador QEMU, ferramentas de espaço do usuário
  • Instalando ADT e conjuntos de ferramentas
    • Usando um tarball Cross-Toolchain (Introdução, Construindo/Instalando o tarball Cross-Toolchain, Cross-Toolchain + Makefile/Autotools/Autotools lib + App, receitas)
    • Usando o instalador do ADT (introdução, Web Server, construir imagem + instalador do ADT, configurar + executar o instalador do ADT, adicionar o instalador do ADT ao servidor da web, instalador do ADT no host)

Eclipse

  • Introdução, fluxo de trabalho de desenvolvimento de aplicativos
  • Trabalhando com Eclipse (recursos rootfs, kernel + fdt, rootfs, instalar JDK, instalar Eclipse, configurar Eclipse, instalar Yocto Plugin, Configurar o Yocto Plugin, Criar Projeto Autotooled, Configurando Cross-Toolchains, Construir o Projeto)

Depuração

  • Introdução, gdb, depuração remota gdb, (gdb remoto) Depuração com Eclipse, (remoto) Executar a partir do Eclipse

Perfil/rastreamento

  • Intro, perf, gprof, gcov, strace, ftrace, systemtap, oprofile, LTTng + Eclipse (visualização de dados)

Pacote Management

  • Trabalhando com pacotes, IPK, criando um feed de pacote, instalando um pacote com opkg no destino

Licenciamento

  • Introdução, Adicionar licença personalizada, Conformidade com licença de código aberto

Ferramenta de desenvolvimento

  • Introdução, devtool, meta-cfengine de demonstração do mundo real

Exceto quando indicado de outra forma, o conteúdo e o esboço deste curso estão licenciados sobAttribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Requisitos

Pré-requisitos

  • Familiaridade básica com o uso de um sistema GNU/Linux (por exemplo, Ubuntu) como um utilizador final no espaço do utilizador
  • Familiaridade básica com um shell de linha de comando
  • Conhecimento básico de programação no espaço do utilizador/kernel com GNU/Linux
  • Conhecimentos intermédios de programação em C
  • Deverá ter frequentado o curso Embedded GNU/Linux Systems Architecture (5 dias) (fortemente recomendado!), exceto se já estiver familiarizado com o material apresentado nessas formações.
  • Na verdade, é necessário ter experiência com o Embedded GNU/Linux (kernel, espaço do utilizador, sistema de ficheiros raiz, ferramentas) para seguir a formação Yocto.
  • Pode ser útil se tiver frequentado o curso Embedded GNU/Linux Device Drivers and Kernel Internals (5 dias), mas isso não é realmente um pré-requisito. É suficiente saber como construir o kernel GNU/Linux, drivers de kernel dentro/fora da árvore e o fdt do lado do kernel para seguir o treinamento Yocto.
 28 horas

Número de participantes


Preço por participante

Declaração de Clientes (1)

Próximas Formações Provisórias