Linux 5.0 arranca en el procesador ESP32

El procesador ESP32 IoT admite hasta 8 MB de PSRAM, lo que lo hace suficiente para ejecutar una versión mínima de Linux. Tiene pocas aplicaciones prácticas, pero puede ser divertido probarlo, y un desarrollador aparentemente logró arrancar Linux 5.0.0 en una placa con un procesador Xtensa de doble núcleo ESP32 conectado a 8 MB de PSRAM y un flash SPI de 2 MB.

Linux ESP32

El registro de arranque abreviado anterior muestra la salida del cargador de arranque con el procesador Xtensa de doble núcleo ESP32-D0WD que finalmente arranca Linux 5.0.0. Pero el proceso de arranque es algo complicado ya que el cargador de arranque salta a «Juice Vm«descrito como una «pequeña máquina virtual RISC-V» que luego llama a OpenSBI RISC-V Open Source Supervisor Binary Interface que carga el kernel de Linux y un pequeño sistema de archivos.

El registro de arranque completo y las imágenes binarias se compartieron en un hilo de Reddit y Whycan con este último en chino. El tamaño total de la imagen es de alrededor de 1,5 MB y ocupa casi por completo el flash de 2 MB utilizado en la placa utilizada para las pruebas. Las interfaces SPI y UART son claramente compatibles, pero parece que todavía no se inician en una consola serie.

Buena suerte para descubrir qué hacer con las dos imágenes binarias proporcionadas, ya que no hay ninguna explicación de todo esto, todo funciona. Es bastante confuso, e inicialmente, incluso pensé que mostraba el arranque de Linux en procesador ESP32-C3 RISC-V ya que Juice VM es una máquina virtual RISC-V que, como nota al margen, también se puede usar para arrancar FreeRTOS, RT-Thread y otros OS. Pero finalmente me dijeron que la máquina virtual JuiceVm rv64 se había trasladado al ESP-IDF con soporte para ESP32, ESP32-S2 y ESP32-C3.

Tenga en cuenta que no es la primera vez que alguien ejecuta Linux en ESP32, ya que el año pasado se demostró la versión anterior de Ubuntu 9.04 en ESP32.

Traducido del artículo en inglés «Linux 5.0 shown to boot on ESP32 processor«.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments