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 prediseñadas, 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 YP Autobuilder

  • ¿Qué es el YP Autobuilder?, Docker contenedor (extraer, lanzar contenedor)

El flujo de trabajo de YP

  • Introducción
  • Flujo de trabajo, arquitectura OE
  • 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/tareas/registro de BitBake, forzar compilación/tarea específica, cleansstate, invalidar stamp, 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 del sistema, 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 el árbol kmod, fuera del árbol 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 Yocto, configurar el complemento Yocto, crear un proyecto con herramientas automáticas, configurar las cadenas de herramientas cruzadas, compilar el proyecto)

Depuración

  • Introducción, gdb, depuración remota de gdb, (gdb remote) 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, herramienta de desarrollo, escaparate del mundo real meta-cfengine

Salvo que se indique lo contrario, el contenido y el esquema de este 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 de espacio de usuario/kernel con GNU/Linux
  • Conocimientos intermedios de programación en C
  • Debería haber asistido a Arquitectura de Sistemas GNU/Linux Embebido (5 días)  (¡muy recomendable!) a menos que ya esté familiarizado con el material presentado en esas capacitaciones.
  • De hecho, es necesario tener experiencia con GNU/Linux embebido (kernel, espacio de usuario, sistema de archivos raíz, herramientas) para seguir el entrenamiento de Yocto.
  • Podría ser útil si asistiera 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 kernel de GNU/Linux, los controladores del kernel 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)

Cursos Relacionados

Embedded Linux Systems Architecture

  35 horas

Categorías Relacionadas