Elige tu idioma
Curso de Linux embebido
Más de 2 millones de estudiantes en todo el mundo

Curso de Linux embebido

4,3

Dominá cada capa de Linux embebido, desde el bootloader y el kernel hasta el sistema de archivos raíz y los controladores de dispositivo. Este curso te da las habilidades prácticas para construir, configurar y desplegar sistemas Linux embebidos de grado productivo en hardware real. Ya sea que estés incursionando en la ingeniería embebida o elevando tu experiencia, este es el camino técnico más completo disponible.

Dedika para empresas

Lo que vas a aprender:

Vas a aprender a configurar toolchains de compilación cruzada, configurar y compilar el kernel de Linux, y construir sistemas de archivos raíz mínimos usando BusyBox. Vas a trabajar con U-Boot para gestionar la secuencia completa de arranque embebido y escribir controladores de dispositivo para GPIO, I2C, SPI y periféricos controlados por interrupciones. El curso abarca Yocto Project y Buildroot para la generación automatizada de imágenes, más técnicas de optimización del sistema incluyendo reducción del tiempo de arranque, minimización de la huella de memoria y endurecimiento de la seguridad. Los temas avanzados incluyen Linux en tiempo real con PREEMPT_RT, depuración remota con GDB y estrategias de actualización over-the-air para despliegues en producción.

Cómo estudias de forma práctica Curso de Linux embebido

Cómo practicas Curso de Linux embebido

Para ti que eres empresa y quieres capacitar a tu equipo

En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.

Haz clic aquí

Contenido del curso

8 Capítulos • 38 ClasesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

Fundamentos de Linux y Sistemas Embebidos

  • Clase 1 • Fundamentos de la Línea de Comandos de Linux

    Abarca la navegación en la shell, la gestión de archivos y los comandos de control de procesos. Estas habilidades son prerrequisitos para todo el trabajo práctico del curso.

  • Clase 2 • Arquitectura del Kernel de Linux y del SO

    Explica el rol del kernel de Linux, su diseño monolítico y la separación entre espacio de usuario y espacio de kernel. Proporciona contexto para el trabajo posterior de configuración del kernel.

  • Clase 3 • Conceptos Básicos de Sistemas Embebidos

    Define los sistemas embebidos, sus limitaciones y en qué se diferencian de las computadoras de propósito general. Establece el vocabulario que se usa a lo largo del curso.

  • Clase 4 • Descripción General del Hardware Embebido

    Releva los procesadores embebidos comunes, los tipos de memoria y los buses de periféricos. Fundamenta las decisiones de software en las realidades del hardware que se encuentran en capítulos posteriores.

Capítulo 2Ver detalles

Cross-Compilación y Configuración del Toolchain

  • Clase 1 • Validación y Debugging del Toolchain

    Verifica la corrección del toolchain usando binarios de prueba e inspección con readelf. Previene errores comunes de mala configuración antes de construir el kernel y el rootfs.

  • Clase 2 • Arquitectura y Componentes del Toolchain

    Identifica binutils, el compilador, la librería de C y el debugger como componentes del toolchain. Explica las relaciones host-objetivo centrales en la cross-compilación.

  • Clase 3 • Cross-Compilación de Aplicaciones

    Demuestra la compilación de programas C y C++ para un objetivo usando el cross-toolchain. Introduce patrones de cross-compilación con Makefile y CMake.

  • Clase 4 • Construcción de un Toolchain con Crosstool-NG

    Guía la configuración y construcción de un toolchain personalizado usando Crosstool-NG. Produce un artefacto de toolchain reproducible que se usa en los laboratorios siguientes.

Capítulo 3Ver detalles

Conceptos del Bootloader y U-Boot

  • Clase 1 • Procedimientos de Flasheo y Recuperación

    Abarca la escritura de imágenes del bootloader en almacenamiento NAND, NOR y eMMC. Incluye estrategias de recuperación cuando una placa no arranca.

  • Clase 2 • Configuración y Construcción de U-Boot

    Explica la selección de una defconfig, la personalización de ajustes y la cross-compilación de U-Boot. Produce un binario de bootloader listo para flashear en el objetivo.

  • Clase 3 • Shell de U-Boot y Scripts de Arranque

    Usa la shell interactiva de U-Boot para cargar imágenes y configurar los argumentos de arranque. Automatiza el arranque con scripts guardados en el entorno o en medios de almacenamiento.

  • Clase 4 • Secuencia de Arranque en Embebidos

    Rastrea la secuencia de encendido desde el código de la ROM, pasando por el bootloader, hasta el kernel. Establece el modelo de arranque por capas referenciado en todo el trabajo posterior relacionado con el arranque.

  • Clase 5 • Arquitectura y Código Fuente de U-Boot

    Explora la estructura de directorios de U-Boot, los paquetes de soporte de placa y el sistema Kconfig. Prepara a los estudiantes para navegar y modificar el código fuente de U-Boot con confianza.

Capítulo 4Ver detalles

Configuración y Construcción del Kernel de Linux

  • Clase 1 • Código Fuente y Gestión de Versiones del Kernel

    Presenta los lanzamientos de kernel.org, las ramas estables y los kernels de proveedores. Guía la clonación y navegación eficaz del árbol de código fuente del kernel.

  • Clase 2 • Sistema de Construcción del Kernel y su Salida

    Explica el sistema Kbuild, las flags de cross-compilación y los artefactos de salida. Construís zImage, Image y device tree blobs para tu objetivo.

  • Clase 3 • Configuración del Kernel con Kconfig

    Usa menuconfig y archivos defconfig para habilitar los controladores y subsistemas necesarios. Enseña la reducción sistemática del tamaño del kernel para objetivos embebidos.

  • Clase 4 • Módulos del Kernel y Carga Dinámica

    Cubre la construcción de módulos dentro y fuera del árbol, insmod, modprobe y depmod. Permite la carga de controladores en tiempo de ejecución sin recompilar el kernel completo.

  • Clase 5 • Despliegue y Prueba del Kernel

    Transfiere la imagen del kernel al objetivo vía TFTP o tarjeta SD y la arranca. Valida el éxito del arranque mediante el análisis de la salida de la consola serial.

Capítulo 5Ver detalles

Construcción del Sistema de Archivos Raíz

  • Clase 1 • Construcción de un Rootfs Mínimo con BusyBox

    Configura y cross-compila BusyBox para proporcionar utilidades básicas en un único binario. Produce un esqueleto de rootfs autocontenido para la placa objetivo.

  • Clase 2 • Gestión de Librerías y Dependencias

    Identifica las dependencias de librerías compartidas y las copia al área de staging del rootfs. Previene errores de librerías faltantes en tiempo de ejecución en el objetivo.

  • Clase 3 • Sistemas de Inicio y Arranque del Sistema

    Compara BusyBox init, SysVinit y systemd para casos de uso embebidos. Configura inittab y scripts rcS para lanzar servicios en el arranque.

  • Clase 4 • Estructura y Estándares del Sistema de Archivos Raíz

    Explica el Estándar de Jerarquía del Sistema de Archivos y los directorios obligatorios para el arranque de Linux. Proporciona el plano estructural para todos los ejercicios de construcción del rootfs.

  • Clase 5 • Empaquetado y Despliegue del Rootfs

    Crea imágenes cpio initramfs, ext4 y squashfs desde el directorio de staging. Despliega y monta el rootfs en la placa objetivo.

Capítulo 6Ver detalles

Sistemas de Construcción: Proyecto Yocto y Buildroot

  • Clase 1 • Arquitectura y Flujo de Trabajo de Buildroot

    Presenta el flujo de trabajo de Buildroot basado en menuconfig para generar el toolchain, el kernel y el rootfs. Demuestra la creación rápida de prototipos para proyectos con recursos limitados.

  • Clase 2 • Conceptos Básicos del Proyecto Yocto

    Explica las capas, las recetas, BitBake y la arquitectura del sistema de construcción OpenEmbedded. Establece el modelo mental necesario para todo el trabajo de personalización de Yocto.

  • Clase 3 • Creación y Personalización de Capas de Yocto

    Crea una capa personalizada, escribe una receta y la agrega a una imagen de Yocto. Demuestra el patrón de extensibilidad usado en proyectos Yocto en producción.

  • Clase 4 • Personalización de Paquetes de Buildroot

    Crea recetas de paquetes personalizados y overlays para agregar software propietario a la imagen. Extiende Buildroot más allá de su conjunto de paquetes por defecto.

  • Clase 5 • Generación de Imágenes y Creación de SDK

    Construye una imagen arrancable completa y un SDK de desarrollo de aplicaciones con Yocto. Permite a los desarrolladores de aplicaciones apuntar a la plataforma sin recompilar la imagen.

Capítulo 7Ver detalles

Controladores de Dispositivo e Interfaces de Hardware

  • Clase 1 • Device Tree y Descripción de Hardware

    Crea archivos fuente de device tree para describir la topología del hardware al kernel. Vincula controladores a nodos de hardware usando strings de compatibilidad y propiedades.

  • Clase 2 • Interrupciones y DMA en Controladores

    Registra manejadores de interrupción y configura transferencias de DMA dentro de un controlador. Aborda los requisitos de latencia y rendimiento comunes en periféricos embebidos.

  • Clase 3 • Desarrollo de Controladores de Dispositivo de Caracteres

    Implementa un controlador de caracteres con operaciones open, read, write e ioctl. Demuestra el patrón completo de registro de controladores y de file_operations.

  • Clase 4 • Fundamentos del Modelo de Controladores de Linux

    Explica el modelo controlador-dispositivo-bus, kobjects y la representación en sysfs. Proporciona el marco conceptual para todo el desarrollo de controladores en este capítulo.

  • Clase 5 • Interfaces de Controladores GPIO, I2C y SPI

    Usa las APIs de los subsistemas GPIO, I2C y SPI del kernel para comunicarse con periféricos. Cubre tanto el acceso mediante controladores dentro del kernel como métodos de espacio de usuario con sysfs/chardev.

Capítulo 8Ver detalles

Optimización del Sistema y Endurecimiento para Producción

  • Clase 1 • Estrategias de Actualización Over-the-Air

    Implementa mecanismos de actualización dual-bank y delta para actualizaciones de firmware seguras en campo. Asegura la capacidad de rollback y la integridad de la actualización en despliegues de producción.

  • Clase 2 • Endurecimiento de Seguridad para Linux Embebido

    Aplica rootfs de solo lectura, arranque seguro y control de acceso para endurecer el sistema. Reduce la superficie de ataque para productos embebidos conectados.

  • Clase 3 • Optimización de la Huella de Memoria

    Reduce el tamaño del kernel, el tamaño del rootfs y el uso de memoria en tiempo de ejecución mediante análisis sistemático. Aplica técnicas de eliminación de símbolos, compresión y poda de configuración.

  • Clase 4 • Medición y Reducción del Tiempo de Arranque

    Perfila la secuencia de arranque usando bootchart y marcas de tiempo del kernel para encontrar cuellos de botella. Aplica optimizaciones específicas para lograr objetivos de arranque por debajo del segundo o arranque rápido.

  • Clase 5 • Técnicas de Gestión de Energía

    Configura el escalado de frecuencia de la CPU, estados de suspensión y power gating de periféricos. Extiende la vida útil de la batería y reduce la emisión térmica en diseños sensibles al consumo.

Certificación

Tu certificado válido de finalización

Este curso es para ti:

  • Ingeniero/a de firmware: listo/a para pasar de MCUs bare-metal a SoCs basados en Linux.

  • Graduado/a en ciencias de la computación: busca profundidad práctica en sistemas embebidos más allá del plan de estudios universitario.

  • Desarrollador/a de IoT: necesita control full-stack sobre los dispositivos en los que se ejecuta su software.

  • Aficionado/a a la electrónica: quiere entender qué se ejecuta dentro de sus computadoras de placa única.

  • Ingeniero/a de DevOps: se expande hacia objetivos embebidos y pipelines de CI integrados con hardware.

  • Persona en cambio de carrera: transiciona del software de escritorio o web al desarrollo de productos embebidos.

Lo que dicen nuestros estudiantes

Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... agradezco por todo lo que hacen, ya los he recomendado a otras personas...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

Principales capacitaciones

Preguntas Frecuentes

¿Quién es Dedika?

¿El certificado es válido en Chile?

¿Los cursos son gratuitos?

¿Cuál es la carga horaria del curso?

¿Cómo son los cursos?

¿Cómo funcionan los cursos?

¿Cuál es la duración de los cursos?

¿Cuál es el costo o precio de los cursos?

¿Qué es un curso EAD u online y cómo funciona?

Curso en PDF