Renueva tu AWS DeepRacer: instala sistemas operativos personalizados con el nuevo bootloader
AWS lanzó un bootloader de desarrollador para AWS DeepRacer que permite instalar sistemas operativos personalizados y terceras distribuciones. Esto facilita actualizar software, añadir drivers y crear proyectos educativos o prototipos de algoritmos de control.
Resumen
AWS anunció un bootloader de desarrollador para los dispositivos AWS DeepRacer que permite instalar sistemas operativos personalizados y terceras distribuciones. Hasta ahora, las DeepRacer arrancaban únicamente versiones firmadas por AWS (como Ubuntu 16.04 y 20.04), que ya no reciben soporte oficial, lo que limitaba la experimentación y el mantenimiento a largo plazo. Con este nuevo enfoque, los equipos podrán actualizar a distribuciones modernas, añadir controladores y desarrollar stacks de software más recientes sin perder la verificación criptográfica básica del arranque.
Qué cambia con este bootloader
El bootloader se basa en el proyecto open-source shim y habilita un modo de “desarrollador” en el que pueden usarse certificados propios para autorizar sistemas operativos y bootloaders no firmados por AWS. La idea central es ofrecer acceso autogestionado para desarrolladores familiarizados con procesos de arranque en Linux y gestión de certificados, sin eliminar las salvaguardas de seguridad esenciales.
Antes de este cambio, las DeepRacer arrancaban firmware y OS firmados por AWS. Estas firmas limitaban la instalación de software más moderno y, dado que algunas versiones de Ubuntu preinstaladas dejaron de recibir soporte, resultaba difícil continuar con investigación y experimentación. El nuevo bootloader extiende la vida útil del hardware al permitir instalaciones controladas por el usuario.
Cómo funciona (elementos clave)
El desarrollador shim opera con tres componentes principales:
- Gestión de certificados autogestionada
- Cuando la verificación de firma por defecto falla, el shim busca certificados de desarrollador en la ruta /EFI/DEVELOPER/certs/ del volumen de arranque.
- Los desarrolladores pueden usar herramientas estándar (por ejemplo, OpenSSL y sbsign) para crear y gestionar sus certificados, manteniendo verificación criptográfica en la cadena de arranque.
- Indicadores visuales claros
- El sistema muestra una advertencia en pantalla a través de HDMI indicando que el dispositivo está en modo desarrollador.
- Las luces del dispositivo parpadean la leyenda “DEVELOPER MODE” en código Morse, como indicación física visible.
- El arranque incorpora una demora deliberada para que el usuario pueda comprobar y reconocer que el modo desarrollador está activo.
- Flujo estándar de verificación
- Se emplean herramientas y procesos basados en certificados comunes, lo que facilita su adopción por quienes ya trabajen con Secure Boot y workflows similares.
Estos elementos buscan equilibrar la flexibilidad para desarrolladores con transparencia y control sobre el estado de seguridad del dispositivo.
Distribución comunitaria como ejemplo práctico
La comunidad open source de AWS DeepRacer (deepracing.io) ya utilizó este developer shim para crear una distribución comunitaria basada en Ubuntu 24.04 y ROS2 Jazzy, con una interfaz basada en Cloudscape. Esta distribución viene preempaquetada y lista para instalar, siguiendo un proceso de instalación similar al de la imagen original de AWS, lo que reduce la barrera de entrada para quienes quieran actualizar su dispositivo sin realizar una instalación desde cero.
La comunidad priorizó el rendimiento en carrera, removiendo paquetes no esenciales (por ejemplo, el sistema de ventanas X) para optimizar recursos; si necesitan interfaz de escritorio, los desarrolladores pueden agregarla después. El repositorio de esta distribución está disponible en https://github.com/aws-deepracer-community/deepracer-custom-car.
Formas de uso: tres opciones según su objetivo
-
Opción A — Instalar una distribución comunitaria
La forma más directa es usar una distribución ya preparada por la comunidad (por ejemplo, Ubuntu 24.04 Community Distribution). Esto evita que cada desarrollador tenga que configurar el proceso de arranque y permite desplegar una imagen moderna y optimizada rápidamente.
-
Opción B — Instalar una distribución de terceros
Si prefieren control total sobre la instalación, pueden usar el developer shim para instalar una distribución estándar (por ejemplo, una imagen de Ubuntu). En general hay que reemplazar el archivo BOOTX64.EFI en el medio de instalación con el developer shim y añadir los certificados pertinentes. Probablemente haya que repetir el proceso una vez más sobre el sistema instalado para que el boot final use el shim; el archivo USAGE.md incluido en el paquete del shim detalla los pasos.
-
Opción C — Construir un OS personalizado
Para proyectos avanzados, pueden crear una partición de arranque propia. La recomendación es colocar el developer shim en EFI/BOOT/BOOTX64.EFI y su kernel o cargador en EFI/BOOT/GRUBX64.EFI, además de instalar su certificado público bajo /EFI/DEVELOPER/certs. Nuevamente, el USAGE.md del shim guía el procedimiento.
Seguridad y reversibilidad
El equipo de AWS diseñó que este modo sea transparente: al activarse, el dispositivo indica explícitamente que está en modo desarrollador. Además, el proceso es reversible: si necesitan volver a la configuración de fábrica, pueden seguir las instrucciones para “Update Your Vehicle” y restaurar la imagen firmada por AWS.
Esto permite a organizaciones y centros educativos experimentar sin sacrificar la opción de regresar a un estado oficialmente soportado cuando sea necesario.
Relevancia para equipos y proyectos en América Latina
Para universidades, laboratorios y empresas en América Latina que ya usan DeepRacer como herramienta didáctica o de prototipado, este bootloader es una buena noticia. Algunas consideraciones prácticas:
- Actualización de software: pueden migrar a distribuciones con soporte actual y recibir parches de seguridad, lo cual es importante para entornos de enseñanza y despliegue.
- Desarrollo local: permite añadir controladores específicos para hardware regional o integraciones con sensores locales que antes no eran fáciles de usar.
- Prototipos y transferencia tecnológica: equipos que desarrollen algoritmos de control vehicular o investigación en robótica pueden probar stacks modernos (ROS2, navegadores web recientes, librerías de ML) sin las limitaciones de versiones obsoletas.
Para instituciones que compran o mantienen flotas de DeepRacer en la región, esta opción reduce el riesgo de obsolescencia del hardware y puede alargar su vida útil operativa.
Recomendaciones prácticas
- Si no tienen experiencia con Secure Boot y certificados, lo más sencillo es probar primero la distribución comunitaria disponible en GitHub.
- Documenten los pasos y mantengan respaldos de las imágenes originales antes de cualquier modificación, para poder restaurar el equipo si es necesario.
- Valoren la gestión de claves y certificados dentro de sus procesos de TI, especialmente en entornos educativos o corporativos.
Conclusión
El developer bootloader para AWS DeepRacer abre nuevas posibilidades: actualizaciones de sistema, soporte para drivers personalizados y la creación de proyectos y prototipos más ambiciosos. Al mantener indicadores claros y un flujo de verificación basado en certificados, AWS busca ofrecer flexibilidad a desarrolladores sin sacrificar la transparencia sobre el estado de seguridad del dispositivo. Para la comunidad latinoamericana, esto significa herramientas más actualizadas y mayor capacidad para adaptar los DeepRacer a necesidades locales y educativas.
Para quienes quieran explorar la distribución comunitaria o el paquete del developer shim, el repositorio relevante está en: https://github.com/aws-deepracer-community/deepracer-custom-car. Consulten el USAGE.md incluido en el paquete del shim para los pasos detallados de instalación.
Fuente original: AWS ML Blog