Actualizaciones OTA para Embedded Linux – Parte 2: Evaluación de plataformas de actualización listas para usar
En el primer artículo cubrimos los fundamentos e implementación de sistemas de actualización OTA para Embedded Linux. Esta entrega evalúa plataformas open-source populares listas para usar que pueden integrarse en su proyecto hoy.
Mender
Mender ofrece una experiencia pulida, lista para usar. Emplea una estrategia dual-rootfs similar a la descrita anteriormente e integra estrechamente con U‑Boot, permitiendo rollback sin problemas si una imagen falla al arrancar.
Empezar es sencillo gracias a documentación clara, paso a paso. Builds de referencia para Raspberry Pi y BeagleBone Black ilustran el esfuerzo requerido para adaptar la solución a su hardware.
En mi experiencia, la integración tomó aproximadamente tres días. El proceso implicó ajustes menores a una build Yocto (Morty) y requería familiaridad con OpenEmbedded y U‑Boot para configurar correctamente el mecanismo dual-boot.
Una vez construido, Mender genera un archivo "sdimg" que contiene el bootloader y filesystem, que luego se escribe en flash. También produce "artifacts" que empaquetan la nueva imagen de filesystem con metadatos.
Los artifacts pueden instalarse manualmente vía el CLI mender, o subirse al servidor backend a través de interfaz web para despliegue automatizado a unidades objetivo.
La consola de gestión backend está construida sobre Docker, simplificando el despliegue inicial. La UI web permite monitorizar todos los dispositivos en campo y empujar actualizaciones a unidades individuales o grupos.
clic para imagen mayor
Figura 1: Interfaz web personalizada de Mender para empujar actualizaciones (Fuente: Mender)
La mayor parte de Mender está escrita en Go, por lo que algún conocimiento de Go es aconsejable para mantenimiento a largo plazo. Aunque Go no es aún ubicuo en desarrollo embebido, su adopción está creciendo.
Sin embargo, Mender le ata a un único dispositivo de arranque (p. ej., /dev/mmcblk0) y asume configuraciones específicas de bootloader y kernel, como soporte para ciertos filesystems. También exige systemd, lo que puede excluir proyectos que dependen de sistemas init alternativos.
SWUpdate
SWUpdate ofrece un marco altamente configurable. Su configuración usa la sintaxis kconfig familiar, permitiendo a desarrolladores adaptar el sistema a sus necesidades.
Capacidades clave incluyen soporte para múltiples bootloaders (U‑Boot, GRUB, EFI Boot Guard), firma y verificación de imágenes con clave pública, y cifrado simétrico opcional de payloads.

Figura 2: Sistema de configuración de SWUpdate (Fuente: SWUpdate)
Incrustado
- Beneficios de las Tecnologías Embebidas en el Diseño Modular
- Cómo elegir el sistema de visión 3D adecuado para sus necesidades de automatización industrial
- Depuración en Sistemas Embebidos: Tipos, Técnicas y Herramientas para Software Confiable
- Cómo los Sistemas Embebidos Impulsan la Innovación en Vehículos Modernos
- Sistemas Embebidos: Definición, Arquitectura y Aplicaciones del Mundo Real
- Tecnología CI y Microcontroladores: La Piedra Angular de los Sistemas Embebidos Modernos
- ST Microelectronics muestra MCUs 28 nm FD‑SOI con PCM embebido para tren de potencia, ADAS y electrificación
- Cervoz SSDs M.2 NVMe ultra‑finos: Almacenamiento alto rendimiento para edge industrial
- Controles de motor precisos para sistemas robóticos avanzados
- Eligiendo el servicio de orquestación de contenedores AWS adecuado para tu negocio
- Los 10 Mejores IDEs para C# en Windows, macOS y Linux – Reseña 2021