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


Comienza

Termina


Dates are subject to availability and take place between 09:30 and 16:30.
Los cursos de formación abiertos requieren más de 5 participantes.

Testimonios (1)

Cursos Relacionados

Embedded Linux Systems Architecture

  35 horas

Categorías Relacionadas