
Curso de Linux embebido
Domine cada capa de Linux embebido, desde el gestor de arranque y el núcleo hasta el sistema de archivos raíz y los controladores de dispositivo. Este curso le brinda las competencias prácticas para construir, configurar y desplegar sistemas Linux embebidos de grado de producción en hardware real. Ya sea que esté incursionando en la ingeniería embebida o llevando su experticia al siguiente nivel, esta es la ruta técnica más completa disponible.
Lo que vas a aprender:
Usted aprenderá a configurar toolchains de compilación cruzada, a configurar y compilar el núcleo del sistema operativo Linux, y a construir sistemas de archivos raíz mínimos utilizando BusyBox. Trabajará con U-Boot para gestionar la secuencia completa de arranque embebido y escribirá controladores de dispositivo Linux para GPIO, I2C, SPI y periféricos controlados por interrupciones. El curso cubre el Proyecto Yocto y Buildroot para la generación automatizada de imágenes, además de técnicas de optimización del sistema que incluyen reducción del tiempo de arranque, minimización del consumo de memoria y endurecimiento de seguridad. Los temas avanzados abarcan Linux en tiempo real con PREEMPT_RT, depuración remota con GDB y estrategias de actualización inalámbrica 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.
Contenido del curso
8 Capítulos • 38 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesFundamentos de Linux y Sistemas Embebidos
Fundamentos de Linux y Sistemas Embebidos
Lección 1 • Fundamentos de la Línea de Comandos de Linux
Cubre navegación en el shell, gestión de archivos y comandos de control de procesos. Estas competencias son prerrequisitos para todo el trabajo práctico de laboratorio en el curso.
Lección 2 • Núcleo del Sistema Operativo Linux y Arquitectura del SO
Explica el rol del núcleo del sistema operativo de Linux, su diseño monolítico y la separación entre espacio de usuario y espacio del núcleo. Proporciona contexto para el trabajo posterior de configuración del núcleo.
Lección 3 • Conceptos Centrales de Sistemas Embebidos
Define los sistemas embebidos, sus restricciones y cómo se diferencian de los computadores de propósito general. Establece el vocabulario utilizado a lo largo del curso.
Lección 4 • Panorama del Hardware Embebido
Examina los procesadores embebidos comunes, tipos de memoria y buses de periféricos. Fundamenta las decisiones de software en las realidades del hardware que se encuentran en capítulos posteriores.
Capítulo 2OcultarOcultar detallesVer detallesCompilación Cruzada y Configuración de Toolchain
Compilación Cruzada y Configuración de Toolchain
Lección 1 • Validación y Depuración del Toolchain
Verifica la corrección del toolchain usando binarios de prueba e inspección con readelf. Previene errores comunes de configuración antes de las construcciones del núcleo y del sistema de archivos raíz.
Lección 2 • Arquitectura y Componentes del Toolchain
Identifica binutils, compilador, librería de C y depurador como componentes del toolchain. Explica las relaciones host-objetivo centrales para la compilación cruzada.
Lección 3 • Compilación Cruzada de Aplicaciones
Demuestra la compilación de programas en C y C++ para un objetivo usando el toolchain cruzado. Introduce patrones de compilación cruzada con Makefile y CMake.
Lección 4 • Construyendo 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 utilizado en laboratorios posteriores.
Capítulo 3OcultarOcultar detallesVer detallesConceptos de Bootloader y U-Boot
Conceptos de Bootloader y U-Boot
Lección 1 • Procedimientos de Escritura de Imagen y Recuperación
Cubre la escritura de imágenes de bootloader en almacenamiento NAND, NOR y eMMC. Incluye estrategias de recuperación cuando una placa no logra arrancar.
Lección 2 • Configurando y Construyendo U-Boot
Recorre la selección de un defconfig, la personalización de ajustes y la compilación cruzada de U-Boot. Produce un binario de bootloader listo para escribir en el objetivo.
Lección 3 • Shell de U-Boot y Scripts de Arranque
Usa el shell interactivo de U-Boot para cargar imágenes y establecer argumentos de arranque. Automatiza el arranque con scripts almacenados en el entorno o en medios de almacenamiento.
Lección 4 • Secuencia de Arranque Embebida
Traza la secuencia de encendido desde el código ROM, pasando por el bootloader, hasta el núcleo. Establece el modelo de arranque en capas referenciado en todo el trabajo posterior relacionado con el arranque.
Lección 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 4OcultarOcultar detallesVer detallesConfiguración y Construcción del Núcleo de Linux
Configuración y Construcción del Núcleo de Linux
Lección 1 • Código Fuente del Núcleo y Gestión de Versiones
Presenta los lanzamientos de kernel.org, ramas estables y núcleos de proveedores. Guía la clonación y navegación efectiva del árbol de fuentes del núcleo.
Lección 2 • Sistema de Construcción del Núcleo y Salidas
Explica el sistema Kbuild, las opciones de compilación cruzada y los artefactos de salida. Los estudiantes construyen zImage, Image y blobs de device tree para su objetivo.
Lección 3 • Configuración del Núcleo con Kconfig
Utiliza menuconfig y archivos defconfig para habilitar los controladores y subsistemas requeridos. Enseña la reducción sistemática del tamaño del núcleo para objetivos embebidos.
Lección 4 • Módulos del Núcleo y Carga Dinámica
Cubre la construcción de módulos fuera del árbol y dentro del árbol, insmod, modprobe y depmod. Permite la carga de controladores en tiempo de ejecución sin reconstruir todo el núcleo.
Lección 5 • Desplegando y Probando el Núcleo
Transfiere la imagen del núcleo 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 5OcultarOcultar detallesVer detallesConstrucción del Sistema de Archivos Raíz
Construcción del Sistema de Archivos Raíz
Lección 1 • Construyendo un Sistema de Archivos Raíz Mínimo con BusyBox
Configura y compila de forma cruzada BusyBox para proporcionar utilidades centrales en un solo binario. Produce un esqueleto de sistema de archivos raíz autocontenido para la placa objetivo.
Lección 2 • Gestión de Librerías y Dependencias
Identifica dependencias de librerías compartidas y las copia al área de preparación del sistema de archivos raíz. Previene errores en tiempo de ejecución por falta de librerías en el objetivo.
Lección 3 • Sistemas de Inicio y Arranque del Sistema
Compara BusyBox init, SysVinit y systemd para casos de uso embebido. Configura inittab y scripts rcS para lanzar servicios en el arranque.
Lección 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 sistema de archivos raíz.
Lección 5 • Empaquetando y Desplegando el Sistema de Archivos Raíz
Crea imágenes cpio initramfs, ext4 y squashfs desde el directorio de preparación. Despliega y monta el sistema de archivos raíz en la placa objetivo.
Capítulo 6OcultarOcultar detallesVer detallesSistemas de Construcción: Proyecto Yocto y Buildroot
Sistemas de Construcción: Proyecto Yocto y Buildroot
Lección 1 • Arquitectura y Flujo de Trabajo de Buildroot
Presenta el flujo de trabajo impulsado por menuconfig de Buildroot para generar toolchain, núcleo y sistema de archivos raíz. Demuestra la creación rápida de prototipos para proyectos con recursos limitados.
Lección 2 • Conceptos Centrales del Proyecto Yocto
Explica capas, recetas, BitBake y la arquitectura del sistema de construcción OpenEmbedded. Establece el modelo mental requerido para todo el trabajo de personalización de Yocto.
Lección 3 • Creando y Personalizando Capas de Yocto
Crea una capa personalizada, escribe una receta y la añade a una imagen Yocto. Demuestra el patrón de extensibilidad utilizado en proyectos Yocto de producción.
Lección 4 • Personalizando Paquetes de Buildroot
Crea recetas de paquetes personalizados y superposiciones para añadir software propietario a la imagen. Extiende Buildroot más allá de su conjunto de paquetes predeterminado.
Lección 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 reconstruir la imagen.
Capítulo 7OcultarOcultar detallesVer detallesControladores de Dispositivo e Interfaces de Hardware
Controladores de Dispositivo e Interfaces de Hardware
Lección 1 • Device Tree y Descripción de Hardware
Escribe archivos de código fuente de device tree para describir la topología del hardware al núcleo. Vincula controladores a nodos de hardware usando cadenas de compatibilidad y propiedades.
Lección 2 • Interrupciones y DMA en Controladores
Registra manejadores de interrupción y configura transferencias DMA dentro de un controlador. Aborda los requisitos de latencia y rendimiento comunes en periféricos embebidos.
Lección 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 controlador y operaciones de archivo.
Lección 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.
Lección 5 • Interfaces de Controlador GPIO, I2C y SPI
Usa las APIs de los subsistemas GPIO, I2C y SPI del núcleo para comunicarse con periféricos. Cubre tanto métodos de acceso de controlador dentro del núcleo como de espacio de usuario vía sysfs/chardev.
Capítulo 8OcultarOcultar detallesVer detallesOptimización del Sistema y Robustecimiento para Producción
Optimización del Sistema y Robustecimiento para Producción
Lección 1 • Estrategias de Actualización Over-the-Air
Implementa mecanismos de banco dual y actualización delta para actualizaciones seguras de firmware en campo. Asegura la capacidad de reversión y la integridad de la actualización en despliegues de producción.
Lección 2 • Robustecimiento de Seguridad para Linux Embebido
Aplica sistema de archivos raíz de solo lectura, arranque seguro y control de acceso para robustecer el sistema. Reduce la superficie de ataque en productos embebidos conectados.
Lección 3 • Optimización de la Huella de Memoria
Reduce el tamaño del núcleo, del sistema de archivos raíz y el uso de memoria en tiempo de ejecución mediante análisis sistemático. Aplica técnicas de reducción, compresión y poda de configuración.
Lección 4 • Medición y Reducción del Tiempo de Arranque
Perfila la secuencia de arranque usando bootchart y marcas de tiempo del núcleo para encontrar cuellos de botella. Aplica optimizaciones dirigidas para alcanzar objetivos de arranque rápido o inferior a un segundo.
Lección 5 • Técnicas de Gestión de Energía
Configura el escalado de frecuencia de la CPU, estados de suspensión y control de potencia de periféricos. Extiende la vida de la batería y reduce la emisión térmica en diseños sensibles a la energía.
Tu certificado válido de finalización
Este curso es para ti:
Ingeniero de firmware: listo para migrar desde MCUs bare-metal hacia SoCs basados en Linux.
Graduado en ciencias de la computación: busca profundidad práctica en sistemas embebidos más allá de los cursos universitarios.
Desarrollador IoT: necesita control full-stack sobre los dispositivos donde se ejecuta su software.
Aficionado a la electrónica: desea entender qué se ejecuta dentro de sus computadoras de placa única.
Ingeniero DevOps: expandiéndose hacia objetivos embebidos y pipelines de CI integrados con hardware.
Persona en transición de carrera: migrando desde el desarrollo de software de escritorio o web hacia el 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... les agradezco por todo lo que hacen, ya los he recomendado a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!

La plataforma es rápida, fácil de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en Colombia?
¿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




















