esp-linux-bsp

esp-linux-bsp

Linux BSP for ESP32-S31

Description

Running full Linux on a microcontroller used to mean either a gutted no-MMU build or switching to a single-board computer. Espressif has put the ESP32-S31 Linux BSP on GitHub; the chip has an MMU and virtual memory, so the kernel and applications are separated.

This repository holds the Buildroot packaging and image layout tools for ESP32-S31: a post-image hook merges the U-Boot SPL, U-Boot FIT, device tree, XIP kernel and cramfs root filesystem into one s31_full_flash.bin ready to flash. The flash layout lives in a config file and moving a slot takes a few overriding lines. It is currently a developer preview and not recommended for production.

Features



Buildroot packaging: installs tools and configs as a host package and runs the packager automatically after the build.

Combined image: merges SPL, U-Boot, device tree, kernel and root filesystem into one complete flash image.

Configurable layout: the default layout is a config file and partition offsets can be customized.

Component helpers: wrap a standalone SPL or generate a diagnostic FIT for component-level debugging.

Developer preview: ESP32-S31 only, irregular updates and possible breaking changes.