Programa del Curso

Esquema del curso

Introducción

  • historia de Unix/Linux, licencias, estándares, trabajo con software libre, búsqueda de ayuda, espeleología, la filosofía Unix

Especificaciones integradas

  • Linux en el escritorio en comparación con Linux en un sistema integrado, cadenas de herramientas cruzadas/nativas, cadenas de herramientas preconstruidas, sistemas de compilación, bibliotecas C,...

Tablero de evaluación

  • ¿Cómo arranca?, Míralo arrancando

Introducción a Yocto

  • ¿Qué es Yocto? ¿Por qué usar el YP? ¿Qué es el YP?, Poky, BitBake, OE-Core, Metadatos

El constructor de automóviles YP

  • ¿Qué es el YP Autobuilder?, Docker contenedor (pull, launch container)

El flujo de trabajo de YP

  • Introducción
  • Flujo de trabajo, arquitectura de equipo original
  • Configuración (usuario, metadatos, máquina, política de distribución)
  • Fuentes
  • Compilación (Obtención de fuentes, Aplicación de parches, Configuración/Compilación/Instalación, Pseudo, Ejemplos de recetas, Análisis de salida/Empaquetado, Generación de imágenes, Generación de SDK)
  • Personalización de imágenes (Intro, local.conf, IMAGE_FEATURES, archivos .bb personalizados, grupos de paquetes personalizados)

BitBake

  • Historia
  • Sintaxis
  • Depuración (nivel de depuración, búsqueda de recetas/imágenes/grupos de paquetes, entorno BitBake/tareas/registro, forzar compilación/tarea específica, estado limpio, sello de invalidación, devshell, explorador de dependencias, eliminar todas las instancias de BitBake, contenedor gráfico de BitBake)

Capas

  • Introducción, herramienta bitbake-layers, herramienta yocto-layer

BSP

  • Introducción, Flujo de trabajo de desarrollo de sistemas, Guía del desarrollador de BSP (bsp-tool)

Núcleo

  • Introducción, Flujo de trabajo de desarrollo del sistema, Manual de desarrollo del kernel (defconfig, defconfig + fragmento de configuración, en tree kmod, fuera de tree kmod, fdt,...)

Kit de herramientas de desarrollo de aplicaciones

  • Introducción, Cadena de herramientas de desarrollo cruzado, Sysroot, ADT- Eclipse Yocto Plug-in, El emulador QEMU, Herramientas de espacio de usuario
  • Instalación de ADT y cadenas de herramientas
    • Uso de un tarball de Cross-Toolchain (Introducción, Construcción/Instalación del tarball de Cross-Toolchain, Cross-Toolchain + Makefile/Autotools/Autotools lib + App, recetas)
    • Uso del instalador de ADT (Introducción, Web Server, Imagen de compilación + instalador de ADT, Configurar + ejecutar el instalador de ADT, agregar el instalador de ADT al servidor web, Instalador de ADT en el host)

Eclipse

  • Introducción, flujo de trabajo de desarrollo de aplicaciones
  • Trabajar con Eclipse (características de rootfs, kernel + fdt, rootfs, instalar JDK, instalar Eclipse, configurar Eclipse, instalar el complemento de Yocto, configurar el complemento de Yocto, crear un proyecto con herramientas automáticas, configurar las cadenas de herramientas cruzadas, construir el proyecto)

Depuración

  • Introducción, gdb, depuración remota de gdb, (gdb remoto) Depuración con Eclipse, (remoto) Ejecutar desde Eclipse

Elaboración de perfiles/Rastreo

  • Intro, perf, gprof, gcov, strace, ftrace, systemtap, oprofile, LTTng + Eclipse (visualización de datos)

Paquete Management

  • Trabajar con paquetes, IPK, crear un feed de paquetes, instalar un paquete con opkg en el destino

Licenciamiento

  • Introducción, Agregar licencia personalizada, Cumplimiento de licencias de código abierto

Herramienta de desarrollo

  • Introducción, devtool, escaparate del mundo real meta-cfengine

Excepto donde se indique lo contrario, el contenido y este esquema del curso están licenciados bajo Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0).

Requerimientos

Prerrequisitos

  • Familiaridad básica con el uso de un sistema GNU/Linux (por ejemplo, Ubuntu) como usuario final en el espacio de usuario
  • Familiaridad básica con un shell de línea de comandos
  • Conocimientos básicos de programación en el espacio de usuario/kernel con GNU/Linux
  • Conocimientos intermedios de programación en C
  • Debería haber asistido a Embedded GNU/Linux Systems Architecture (5 días)  (¡muy recomendable!) a menos que ya esté familiarizado con el material presentado en esas formaciones.
  • De hecho, es necesario tener experiencia con GNU/Linux embebido (kernel, espacio de usuario, sistema de archivos raíz, herramientas) para seguir la formación de Yocto.
  • Podría ser útil si asististe a Embedded GNU/Linux Device Drivers and Kernel Internals (5 días), pero eso no es realmente un requisito previo. Basta con saber cómo construir el núcleo GNU/Linux, los controladores del núcleo in/out del árbol y el fdt desde el lado del kernel para seguir el entrenamiento de Yocto.
 28 Horas

Número de participantes


Precio por Participante​

Testimonios (1)

Próximos cursos

Categorías Relacionadas