Programa del Curso

  1. Empezar
    1. Obtención Buildroot
    2. Requisitos del sistema de compilación
    3. Terminología entre compiladores: compilación, host, destino, sysroot
    4. Elegir el objetivo correcto
    5. Construir un sistema embebido mínimo y arrancarlo
    6. Contenido de la imagen del sistema de archivos resultante
    7. Compilaciones paralelas
    8. Reconstrucciones completas y parciales
  2. Objetivos de diseño de Buildroot
  3. Decisiones a tomar
    1. Biblioteca C: glibc o uClibc o musl?
    2. Sistema de inicio: busybox vs sysVinit vs systemd
    3. Administración de nodos de dispositivo en /dev
    4. Selección de otros paquetes
  4. Descripción de las instrucciones de compilación
    1. Sintaxis de los archivos Kconfig (Confog.in)
    2. Características de GNU Make utilizado por Buidroot Makefiles
    3. Guía de estilo para archivos Config.in y *.mk
    4. Cómo agregar un paquete simple basado en Autotools
    5. La diferencia entre directorios de ensayo y de destino
    6. La necesidad de paquetes de host
    7. Cómo expresar dependencias y características opcionales
    8. Compatibilidad con lenguajes distintos de C y sistemas de compilación distintos de Autotools
    9. Depuración de archivos Makefile
    10. Reconstrucción de un solo paquete
  5. Análisis de los resultados de la compilación
    1. ¿Qué llevó tanto tiempo de construcción?
    2. ¿Por qué ocupaba tanto espacio en disco?
    3. ¿Por qué se ha creado este paquete?
  6. Organización de árboles de paquetes externos
  7. Flujo de trabajo para desarrolladores de aplicaciones
    1. Cómo usar un directorio de origen local
    2. Instrucciones de compilación de invalidación
    3. Depuración de la aplicación
    4. Aceleración de las reconstrucciones
    5. Visualización de registros de compilación
  8. Tratamiento de problemas comunes de compilación cruzada
    1. Cómo escribir tu propio software para que sea amigable con los compiladores cruzados
  9. Flujo de trabajo para desarrolladores de kernel
    1. Cómo arranca el kernel en un sistema embebido
    2. Cambiar las opciones de configuración y agregar parches
    3. Mecanismos de carga de módulos
  10. Elaboración de un producto terminado
    1. Ejecución de demonios al inicio
    2. Proporcionar archivos de configuración personalizados
    3. Mecanismos de actualización de firmware disponibles
    4. Actualización a una nueva versión Buildroot
    5. Cumplimiento de licencias de código abierto

Requerimientos

  • El participante debe haber construido un kernel al menos una vez para un sistema de escritorio tradicional (no integrado) Linux.
  • Sabe de qué componentes se compone el espacio de usuario Linux en un sistema de escritorio.
  • Sabe cómo generar y usar parches.
  • Debe ser capaz de explicar qué es GNU Make, Autotools, qué otros sistemas de construcción existen.
  • Idealmente, mantiene al menos un paquete Linux, ya sea como autor original o en cualquier distribución de escritorio Linux tradicional.
  • No se requiere experiencia previa con el desarrollo embebido y no sustituye el conocimiento sobre los escritorios tradicionales Linux especificado anteriormente.
 7 horas

Número de participantes


Precio por participante

Próximos cursos