这周乐鑫干了件低调但不小的事:给 ESP32-S31 官方开源了一套 Linux BSP。注意"官方"两个字——以前在 ESP32 上跑 Linux,是社区极客自己移植着玩;这次是乐鑫亲自下场,Buildroot 配置、Linux 内核分支、U-Boot、镜像打包工具全套公开,8 月 20 日两个仓库悄悄上线 GitHub,8 月 22 日海外硬件媒体 CNX-Software 报道,这两天中文圈才开始传开。CNX-Software知乎
标题党会说"ESP32 能跑 Linux 了"。但如果你是真打算上手折腾的开发者,建议先把结论看完:能启动,是真的;现在能用,还早。 这篇把这套 BSP 到底是什么、坑在哪、谁现在适合玩、谁该等一等,一次说清楚。
这次开源的到底是什么
东西分两个仓库:
esp-linux-bsp:负责镜像布局和打包,把 U-Boot SPL、U-Boot FIT、设备树、XIP 内核和 cramfs 根文件系统合并成一个可直接烧录的完整镜像 `s31_full_flash.bin`;
esp-buildroot-external:真正的核心,基于 Buildroot 2025.02 的外部配置树,构建 32 位 RISC-V musl 工具链,配套的内核是乐鑫自己维护的 Linux 6.18 fork,OpenSBI 1.6、U-Boot 2024.07 也都是专门的 esp32s31 集成分支。

启动链是完整的:SPL → OpenSBI → U-Boot → Linux 内核 → 根文件系统 → root shell。这不是"内核点亮了"的概念验证,而是一条能进命令行的完整路径。
那问题来了:S31 配套开发板就 16MB PSRAM,这点内存怎么跑得动 Linux?
答案藏在两个词里:XIP 和 cramfs。内核以 XIP(原位执行)方式运行,不占内存;根文件系统用极致压缩的 cramfs,只读、按需解压。整套系统被裁剪到极限,有实测者编译出来的完整 Flash 镜像只有 13.8MB 左右。知乎换句话说,你跑起来的是一个"命令行最小 Linux"——有 shell、有文件系统、有完整的启动流程,但没有桌面,也跑不了什么大应用。它的定位不是树莓派平替,更像是一块"带完整 Linux 软件生态入口的高级 MCU"。
上手前,先知道这几个坑
CNX-Software 的 Jean-Luc 替大家先踩了一遍(他自己没板子,只做了编译验证),加上官方 README,几个关键信息:
首次编译要一个多小时。CNX-SoftwareBuildroot 要下载全套软件包并构建工具链,急性子请提前有心理准备;
esptool 必须 ≥ 5.3.0。知乎这是最容易翻车的一步——旧版 esptool(比如 4.7.0)压根不认识这颗芯片,升级完再烧录;
烧录用下载模式,官方给的命令波特率是 1152000,如果串口连接不稳定,降到 460800 再试。GitHub烧完用 115200 打开串口终端,就能看到 Linux 启动日志;
当前官方 defconfig 只针对一块板:ESP32-S31 Function Core Board(NOR Flash 方案)。手里的其他 S31 板(包括带 4.3 寸屏的那块),暂时不在官方支持列表里。

泼三盆冷水:想清楚再折腾
第一盆,是官方自己泼的。 两个仓库的 README 写得非常直白:Developer Preview 只推荐用于硬件评估、原型开发和兼容性测试,明确不推荐生产部署、长期维护项目和关键系统。GitHub而且预告了四件事:更新不定期、随时可能有破坏性变更、预览期内基本不接受新功能请求、bug 按"尽力而为"修。这个姿态翻译过来就是:欢迎尝鲜,出问题别骂,量产别用。
第二盆,是最要命的:Wi-Fi 现在到底能不能用?答案是"不知道"。 官方文档和目前的实测报告都没给出明确说明,CNX-Software 在报道里也直接把这个问题挂了出来。CNX-Software对一颗 ESP32 来说,无线连接就是灵魂——如果 Wi-Fi 驱动还没就绪,这个 Linux 暂时只能当"有线串口玩具"。这一点不解决,讨论"Linux 生态价值"都是空中楼阁。
第三盆,来自已经上手的玩家。 B 站这两天最快的实测视频评论区,反馈相当真实:有人说"有点卡,有没有 Wi-Fi 驱动";也有人提醒,这套内核被裁剪到了极限,板载资源紧张,跑大型应用是"极限操作",“玩玩还行”。哔哩哔哩跑通启动流程、验证外设、写点小工具没问题,想跑 Qt、想在板子上编译东西,就别为难它了。
谁现在值得折腾,谁建议再等等
给不同状态的人一个直接的判断:
手里已经有 S31 Function Core Board 的折腾党:值得上。 成本是编译等待的一个多小时加一个下午,换来的是"ESP32 上跑 Linux"的第一手体验和给官方提早期反馈的机会。这种预览版窗口期很短,现在折腾和三个月后折腾,完全是两个东西。
FreeRTOS 老玩家、只想安稳做项目:别碰。 几个传感器、控个电机、定时上报数据,FreeRTOS 更省资源、启动更快、生态更成熟,换 Linux 纯属给自己找事。
Linux 应用背景、想转嵌入式的观望者:可以先看不动手。 这套 BSP 真正的价值是验证了一个可能性——ESP32 这个价位的芯片,未来可以承载 shell、文件系统、成熟网络工具这些 Linux 生态的东西,对熟悉 Linux 的团队会友好得多。但驱动缺失加上"尽力而为"的维护承诺,现在进去做正经东西还不现实。
等 Wi-Fi 的人:就继续等。 官方明确 Wi-Fi 可用之前,把这套 BSP 当成"有线预览版"就好。

接下来值得盯的三个信号
Wi-Fi / 蓝牙驱动进度。乐鑫那个 Linux 6.18 fork 里,无线驱动什么时候合入、什么时候能用,直接决定这套东西有没有灵魂;
官方集成分支的更新频率。Developer Preview 能不能变成稳定版,看 commit 节奏就知道。README 里"irregular updates"几个字,既是诚实,也是风险;
社区移植的补位速度。官方 BSP 出来之前,社区已经在 Korvo-1 板上动手了:GrieferPig 的 Linux 6.12 移植已经能稳定跑 Buildroot 根文件系统(关机还没实现,Wi-Fi、蓝牙双模、双核还是实验状态),甚至有项目已经在试 Linux 7.1 + OpenSBI 1.9。知乎社区填坑的速度,往往比官方路线图快。

为什么这件事值得记一笔
回头看时间线会有点感慨:3 月底 S31 发布,4 月份就有 B 站热评预言"有 MMU 这下真的可以跑 Linux 了",5 月开发板亮相,7 月底芯片量产开售,8 月官方 Linux BSP 落地——四个月前评论区的一句玩笑,这周真的兑现了。CNX-Software哔哩哔哩小红书
它真正有意思的地方,不是"又一颗芯片能跑 Linux",而是乐鑫在给 ESP32 找一个新的生态位:比传统 MCU 更通用(有 OS、有文件系统、有 shell),又比传统 Linux SoC 更轻、更便宜、无线能力更全。这条路能不能走通,取决于乐鑫能不能把无线驱动和常用外设补齐,并且把 BSP 长期维护下去。
对我们玩家,态度可以简单点:尝鲜要早,反馈要多,量产别碰。 等 Wi-Fi 驱动落地那天,这件事才值得再写一篇。