官方BSP真来了,Linux 6.18也真启动了。只是16MB内存、单核和未就绪的无线驱动,先把“树莓派要失业”的兴奋拉回了地面。
ESP32跑Linux了。
我第一反应是:好家伙,树莓派以后是不是得提防这个老熟人抢饭碗?
看完官方仓库,再看完一次真实构建,我把刚掏出来的树莓派又放回了桌上。
Linux已经进屋,Wi-Fi还在门外找鞋。

官方Linux BSP在ESP32-S31上启动后的终端画面。图源:CNX Software
这次不是民间魔改,乐鑫自己下场了
8月22日,乐鑫公开了ESP32-S31的Linux BSP开发预览。仓库名很朴素:esp-linux-bsp。
它负责把U-Boot SPL、OpenSBI、U-Boot、设备树、Linux内核和根文件系统,收拾成一份可以直接烧进Flash的镜像。
核心构建树基于Buildroot 2025.02,内核是乐鑫维护的Linux 6.18分支,U-Boot版本为2024.07。不是终端里打印一行“Hello Linux”就散会,完整启动链已经搭起来了。
但仓库首页也写得很直白:Developer Preview,只建议评估。更新节奏不保证,接口可能变,修复也是best effort。
翻译成人话:欢迎来玩,先别拿它给客户交货。
ESP32为什么突然装得下Linux了
关键不是“主频终于够高”,而是ESP32-S31有了MMU。
以前多数ESP32更擅长跑FreeRTOS:任务直接贴着硬件干活,轻、快、省内存。Linux则习惯把程序装进各自的虚拟地址空间,进程隔离、内存映射、用户态和内核态都要有人管。
MMU就是那个管房号和门禁的人。没有它,Linux不是绝对不能跑,只是日子会过得很别扭。
ESP32-S31采用双核32位RISC-V,最高320MHz,支持Sv32 MMU;芯片内有512KB SRAM,部分模块把16MB或32MB PSRAM一起封装。
这块Korvo-1开发板配的是16MB Flash和16MB PSRAM。拿手机眼光看,16MB像笑话;拿MCU眼光看,已经是准备搬家的行李箱。

ESP32-S31-Korvo-1 V1.1开发板,板载16MB Flash与16MB PSRAM。图源:芯查查用户实拍
能启动,和能舒服地用,中间还隔着一条工地
CNX Software照着官方文档跑了一遍。第一次完整构建用了一个多小时,最后得到的s31_full_flash.bin约13,758,464字节,也就是13.76MB。
光镜像就快把16MB Flash吃到盘底。别紧张,Linux在这里本来就不是来装桌面、开浏览器、顺便跑个Docker的。
它走的是XIP内核加cramfs根文件系统:能从Flash直接执行的尽量别搬,根文件系统也压紧一点。每一MB都有岗位,暂时没有摸鱼编制。
烧录还要求esptool.py 5.3.0或更高版本。启动后能进shell,能看到Linux正常识别内存和设备。到这里,“ESP32-S31能跑Linux”是真的。
紧接着,施工牌也出现了:官方方案当前只启用一个CPU核心;Wi-Fi、蓝牙和USB Host都还没有形成可直接依赖的正式支持。
一颗以无线连接出名的ESP,Linux起来后先没有Wi-Fi,多少有点像新房交付,客厅装好了,门锁还在快递路上。

乐鑫官方BSP仓库明确标注Developer Preview,并建议只用于评估。截图来源:Espressif / GitHub
有意思的是,社区比官方先踩进去了
官方仓库出现之前,社区已经在拿ESP32-S31折腾Linux。GrieferPig的方案基于Linux 6.12,已经试到双核SMP、稳定的Buildroot根文件系统和重启。
它也试出了USB Host,Wi-Fi和蓝牙仍在实验。另一个annoyedmilk仓库甚至碰到了Linux 7.1和OpenSBI 1.9,LCD、microSD、USB等外设各自有不同进度。
两边的启动路线也不同。官方是U-Boot SPL一路接OpenSBI、U-Boot再到Linux;社区方案更像从ESP-IDF bootloader抄近路。
这不代表社区方案“赢了”。官方BSP的意义,是乐鑫终于把维护责任、芯片支持和可复现构建接了过去;社区的价值,是提前把路上的坑和可能性都踩出脚印。
r/esp32里的讨论很现实:有人兴奋于标准Sv32和熟悉生态,也有人直接问,16MB PSRAM为什么不去买一块Rockchip板。两边都没说错,只是在想不同的产品。

官方预览之前,社区已经在ESP32-S31上跑通Linux 6.12并尝试双核与USB。图源:GrieferPig / CNX Software
所以,它会替代树莓派吗
短期不会。
树莓派和常见Linux SBC有更大的DDR、成熟的USB和网络驱动,也有完整发行版。你要接屏幕、跑浏览器、装一堆服务,直接选SBC,别跟16MB内存培养感情。
ESP32-S31的吸引力在另一边:它仍是一颗贴近传感器、GPIO、低功耗和无线生态的芯片,却开始能使用Linux进程、标准用户态工具和更熟悉的驱动模型。
它不是小号电脑,更像一颗开始说Linux话的控制器。
现在最适合上手的,大概有三类人:
- 想用一块便宜板子理解OpenSBI、U-Boot、设备树和Linux启动链的人;
- 正在做BSP、驱动或极小Linux系统,愿意自己补工具链和外设支持的人;
- 做边缘网关、HMI或复杂控制原型,想验证“Linux用户态 + ESP外设生态”这条路线的人。
要做量产联网设备、需要长期ABI稳定,或者项目排期已经在冒烟的人,先等等。预览版最适合探索,不适合拿来赌交付。
接下来别只盯着“又能启动了”
下一阶段有四个信号比新截图更重要:Wi-Fi与蓝牙驱动、双核SMP、USB Host、稳定发布节奏。
其中无线最关键。ESP32最大的老本行就是连接;如果Linux侧长期用不上它,S31最特别的那部分价值会被削掉一大块。
双核和USB决定性能与扩展,发布节奏则决定今天能跑的镜像,半年后还能不能照着同一份文档重建。
所以我现在不会喊“ESP32把树莓派干掉了”。这句话够响,离工程事实也够远。
更准确的说法是:ESP32终于拿到了Linux世界的门票,但还在入口处系鞋带。
对一颗我们原本只指望它点灯、采数据、连Wi-Fi的芯片来说,这一步已经挺有意思。至于能走多远,等Wi-Fi把鞋穿好再说。
资料来源
Espressif:ESP32-S31 Linux BSP · github.com
Espressif:ESP32-S31数据手册 · documentation.espressif.com
CNX Software:官方BSP构建实测 · cnx-software.com
芯查查:ESP32-S31-Korvo-1开发板实拍 · xcc.com
GrieferPig:ESP32-S31社区Linux移植 · github.com
Reddit r/esp32:官方BSP讨论 · reddit.com
AI硬件派
关注“AI硬件派”,每天捞一条真有意思的硬件消息,再把它拆开看明白。