8月22日、Jean-Lucが「Espressif Systems releases a Linux BSP developer preview for ESP32-S31 RISC-V microprocessor」と題した記事を公開した。
Espressifが新チップESP32-S31向けにLinux BSP(Board Support Package)のデベロッパープレビューを公開した。「ESP32でLinux」と聞けば意外に思う読者も多いだろう。従来のESP32シリーズはMMU(Memory Management Unit)を持たないマイクロコントローラであり、FreeRTOSのようなRTOSを動かすのが一般的だった。ESP32-S31はその設計思想を根本から刷新した、ESP32の名を冠しながらも別物に近い新世代チップだ。
鍵はMMUの搭載だ。MMUはOSがメモリ空間を仮想化・保護するために必要なハードウェア機能で、LinuxをはじめとするフルOSを動かすには不可欠な要素である。逆に言えばMMUさえあれば、組み込みLinuxの豊富なエコシステム——Buildroot、OpenSBI、既存のLinuxドライバ群——をそのまま活用できる。開発ボードには16MB PSRAMも搭載されており、最小限のLinuxイメージを動かすための条件が整っている。
ESP32-S31は2026年3月に発表されたデュアルコアRISC-Vマイクロプロセッサで、ギガビットイーサネット・WiFi・Bluetooth・802.15.4(Thread/Zigbeeなど)を1チップに統合している。5月には開発ボード2種が登場し、数週間前に量産開始が発表されたばかりのタイミングでのBSP公開だ。世界中に広がるESP32開発者コミュニティが、そのままLinuxの世界に移行できる可能性が生まれた。
公式Linux BSPの構成
公式のesp-linux-bspリポジトリはイメージレイアウトとパッケージングツールを提供する。実質的なコアはesp-buildroot-externalリポジトリに置かれており、Buildroot(組み込みLinux向けのビルドシステム)の2025.02版をベースに、ESP32-S31のNORブートスタックとルートファイルシステムが含まれる。カーネルはLinux 6.18のフォークで、ソースコードも公開されている。
ビルド手順はBuildroot External Treeの標準的な流れだが、一点注意が必要だ。ESP32-S31のフラッシュにはesptool 5.3.0以上が必要で、Ubuntu標準パッケージ(4.7.0)では動作しない。pipx経由でインストールし直す必要がある。ビルド自体には1時間以上かかり、完成すると約13.1MBのフラッシュイメージが生成される。Linuxコンソールは115200ボーでアクセスできる。
EspressifはこのBSPについて「実験目的のみ」と明示しており、プロダクション利用は非推奨だ。更新は不定期で破壊的変更の可能性もある。WiFiなどの機能が動作するかどうかも現時点では不明とされている。あくまで「まず動くものを触ってほしい」というデベロッパープレビューの位置付けだ。
コミュニティポートも並走
公式BSPと並行して、コミュニティによる独自ポートも2件進んでいる。
**GrieferPigのポート**はLinux 6.12ベースで、Buildrootのrootfsとrebootは安定動作しているとのこと。WiFi・Bluetooth・デュアルコアサポートは実験的で、poweroffは未実装だ。
**Marcoのesp32-s31-linux**はLinux 7.1とOpenSBI(RISC-V向けのファームウェアインターフェース仕様の実装)1.9を採用する。LCDパネル・microSDスロット・USBホスト・WLANモデムは未対応だが、公式BSPより新しいカーネルを先行して動かしている点が際立つ。
公式とコミュニティが並走して開発を進めるこの状況は、ESP32が積み上げてきた巨大なコミュニティの底力を示している。ESP32-S31は量産が始まったばかりであり、今後どこまで周辺機器サポートが広がるかが注目点だ。
詳細はEspressif Systems releases a Linux BSP developer preview for ESP32-S31 RISC-V microprocessorを参照していただきたい。