
ESP32-S31上で、メモリー管理ユニット(MMU)を使う通常のLinuxを動かす取り組みが進んでいます。Espressifの公式開発者向け先行版に加え、有志による移植では起動や無線通信、周辺機器の対応状況が公開されています。公式版は本番環境向けではなく、有志版も実験段階の機能を含みます。
MMUを備えたESP32-S31でLinuxを実行
ESP32-S31は、2コアの32ビットRISC-Vマイクロプロセッサーです。MMUを搭載し、通常のLinuxを動かすための仕組みを備えています。開発ボードには16MBのPSRAMが搭載され、最小構成のLinuxイメージを収められます。
Linuxを移植するには、対象チップのハードウェアでカーネルを動かすための対応が必要です。EspressifはESP32-S31対応のLinuxカーネルを含むフォークを提供しており、現在の開発者向けブランチは6.18系です。有志のGrieferPig氏も、ESP32-S31上で動くLinux 6.18の移植を公開しています。
マイコン上でLinuxが動いても、一般的なPCと同じ用途に使えるとは限りません。Hackadayは、利用できるリソースでは計算能力に限りがあると指摘しています。起動の可否に加え、無線や周辺機器の対応状況も利用範囲を考える手掛かりになります。
公式版はBuildrootを使う開発者向け先行版
Espressifの公式Linux基盤ソフトウェア(BSP)は、ESP32-S31向けの開発者向け先行版です。カーネルはLinux 6.18のフォークで、Buildroot 2025.02を使ってイメージを構成します。Buildrootは、Linuxを含む組み込みシステムのソフトウェアをまとめて構築する仕組みです。
ビルドでは、起動に必要なSPL、U-Boot、カーネル、ルートファイルシステムなどをフラッシュ用イメージにまとめます。書き込みにはesptoolを使い、ESP32-S31への対応にはバージョン5.3.0以降が必要です。
Espressifは現時点で、公式リポジトリの本番利用を推奨していません。更新時期は不定で、互換性を損なう変更が入る可能性があり、不具合修正も最善努力の範囲とされています。そのため、公式版はESP32-S31の技術評価や検証に向けた先行段階です。
有志版は起動や無線に対応、機能ごとに進捗
GrieferPig氏の移植は、Linuxの起動に加え、フラッシュからの実行、永続ルートファイルシステム、デュアルコア動作に安定対応しています。ルートファイルシステムは、OSやアプリケーションのファイルを保持する領域です。プロジェクトは実機のESP32-S31-WROOM-3 E1H16R16Vモジュールでテストされています。
周辺機器では、Wi-Fiのステーション接続とBluetoothが安定対応に分類されています。GPIO、UART、I2Cの一部、SPI、I2S、SD/MMC、イーサネット、USBガジェットなどは実験段階です。電源管理とUSBホストは作業中で、RMTは未対応です。
GrieferPig氏のプロジェクトは実験用途と位置づけられ、本番利用には向かないとしています。ボード上で試せる機能は、使用する移植版と個々のドライバーの進捗によって異なります。
マイコン向け移植は公式版と有志版が並走
Espressifの公式版はESP32-S31向けのBSPとカーネルを整備し、有志版は起動や周辺機器への対応を進めています。公式版とコミュニティーの移植は別のプロジェクトで、それぞれ対応状況を公開しています。
Hackadayが紹介したESP32-S31のLinux対応では、公式版が開発者向け先行版、有志版が機能ごとに進捗の異なる実験的な移植として公開されています。











