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

Curso de Linux embebido

4,3

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.

Dedika para empresas

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.

Haz clic aquí

Contenido del curso

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

Capítulo 1Ver detalles

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 2Ver detalles

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 3Ver detalles

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 4Ver detalles

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 5Ver detalles

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 6Ver detalles

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 7Ver detalles

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 8Ver detalles

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.

Certificación

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...
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, fácil 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 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