Why This Matters
The porting of Linux 6.12 to the ESP32-S31 represents a significant step toward expanding Linux support on RISC-V based microcontrollers, potentially enabling more complex applications and greater flexibility for IoT and embedded device developers. While still in early stages with many features untested or WIP, this development could pave the way for more robust, Linux-based solutions on low-power, cost-effective hardware, impacting both the industry and consumers seeking versatile embedded systems.
Key Takeaways
- Linux 6.12 has been ported to the ESP32-S31, opening new possibilities for embedded Linux applications.
- Many peripheral and connectivity drivers are still untested or WIP, indicating ongoing development.
- Custom drivers and patches are required due to hardware quirks and non-standard features of the S31 chip.
Linux 6.12 for ESP32-S31
An attempt to port MMU Linux to S31's architecture ( RV32IMAFBCNSUX ).
Module tested: ESP32-S31-WROOM-3 E1H16R16V (ESP32-S31 Core Board).
Example boot log
Build/Flash Instructions
Refer to the Build Instructions.
Porting progress
General
Feature Status Buildroot rootfs 🟡 Untested Wireless (ESP-Hosted) 🟡 Untested Reboot and poweroff 🟡 Untested Dual hart SMP ⚫ Not Planned (Used by FreeRTOS)
Peripheral Drivers
... continue reading