Programa do Curso

    Introdução Obtendo Buildroot Requisitos do sistema de compilação Terminologia entre compiladores: compilação, host, destino, sysroot Escolha do destino correto Construindo um sistema embarcado mínimo e inicializando-o Conteúdo da imagem do sistema de arquivos resultante Construções paralelas Reconstruções completas e parciais
Metas de design de Buildroot
  • Escolhas a serem feitas Biblioteca C: glibc ou uClibc ou musl?
  • Sistema de inicialização: busybox vs sysVinit vs systemd
  • Gerenciando nós de dispositivos em /dev
  • Selecionando outros pacotes
  • Compreendendo a sintaxe das instruções de construção dos arquivos Kconfig (Confog.in)
  • Recursos do GNU Make usados por Buidroot Makefiles
  • Guia de estilo para arquivos Config.in e *.mk
  • Como adicionar um pacote simples baseado em Autotools
  • A diferença entre diretórios de teste e de destino
  • A necessidade de pacotes de host
  • Como expressar dependências e recursos opcionais
  • Suporte para linguagens diferentes de C e sistemas de construção diferentes de Autotools
  • Depurando Makefiles
  • Reconstruindo um único pacote
  • Analisando os resultados da construção O que levou tanto tempo de construção?
  • O que ocupou tanto espaço em disco?
  • Por que este pacote foi construído?
  • Organizando árvores de pacotes externos
  • Fluxo de trabalho para desenvolvedores de aplicativos Como usar um diretório de origem local
  • Substituindo instruções de compilação
  • Depurando seu aplicativo
  • Acelerando reconstruções
  • Visualizando registros de build
  • Lidando com problemas comuns de compilação cruzada Como escrever seu próprio software para que seja amigável para compiladores cruzados
  • Fluxo de trabalho para desenvolvedores de kernel Como o kernel inicializa em um sistema embarcado
  • Alterando opções de configuração e adicionando patches
  • Mecanismos de carregamento de módulo
  • Fazendo um produto acabado Executando daemons na inicialização
  • Fornecendo arquivos de configuração personalizados
  • Mecanismos de atualização de firmware disponíveis
  • Atualizando para uma nova versão Buildroot
  • Conformidade com licenças de código aberto
  • Requisitos

    • O participante deve ter construído um kernel pelo menos uma vez para um sistema desktop tradicional (não embutido) Linux.
    • Sabe de que componentes é composto o espaço de usuário Linux em um sistema desktop.
    • Sabe como gerar e usar patches.
    • Deve ser capaz de explicar o que é GNU Make, Autotools, que outros sistemas de compilação existem.
    • Idealmente, mantém pelo menos um pacote Linux, seja como autor upstream, ou em qualquer distribuição desktop Linux tradicional.
    • Experiência prévia com desenvolvimento embarcado não é necessária, e não substitui o conhecimento sobre desktops Linux tradicionais especificado acima.
      7 horas
     

    Declaração de Clientes (4)

    Cursos Relacionados

    Embedded Linux Systems Architecture

      35 horas

    The Yocto Project - An Overview - hands-on

      28 horas

    Categorias Relacionadas