Läuft überall
Vom 5-Euro-Chip bis zum Server: Alles mit CPU, etwas Speicher und einem Speicher-Medium soll nullos können.
| Was | Beispiele | Speicher | MMU |
| Mikrocontroller | ESP32, ESP32-C3/C6, RP2040 | 320–520 KB | nein |
| Einplatinenrechner | Raspberry Pi 3/4/5, RISC-V-Boards | 512 MB – 8 GB | ja |
| Telefone, Tablets | entsperrte Android-Geräte (ARM64) | 2–16 GB | ja |
| PCs, Laptops, Server | alles mit UEFI | ab 64 MB | ja |
| Alte PCs | BIOS-Rechner | ab 16 MB | ja |
Die Reihenfolge
x86_64 (QEMU, dann echter PC) → ESP32-C5 (RISC-V, ohne MMU) → ARM64 (QEMU, Raspberry Pi) →
RISC-V 64 → Xtensa (ESP32). Heute läuft: x86_64 in QEMU. Der Rest kommt noch
Der Compiler ist schon weiter: Er erzeugt Code für x86_64, ARM64 und RISC-V 64, getestet in QEMU.
Erstes Kleingerät: ESP32-C5
Max' Idee: nullos auf einen ESP32-C5 – und man kommt nur noch per SSH drauf. Der Chip: ein RISC-V-Kern
bis 240 MHz, 384 KB SRAM, WLAN auf 2,4 und 5 GHz, keine MMU. Tipp: ein Board mit PSRAM kaufen, sonst wird's eng.
Der Weg: übersetzen → flashen über USB → eigener Startcode → Prompt über USB → Kernel ohne MMU →
Netz → TCP/IP und SSH-Server → nur noch per SSH bedienen. Plan steht, angefangen ist noch nichts.
kommt noch
Offene Frage: WLAN. Der Funkteil ist nicht offen dokumentiert, es ginge nur mit Espressifs geschlossener
Bibliothek. Vorschlag: zum Start ein SPI-Ethernet-Modul (z. B. W5500) – dann bleibt alles selbst geschrieben.
Max entscheidet.
Wie das gehen soll
- Eine dünne Maschinenschicht. Alles CPU-Spezifische liegt in
arch/ und board/,
der Rest ist reines C.
- Auch ohne MMU. Der ESP32 hat keinen virtuellen Speicher – also kann der Kernel beides.
Programme sind positionsunabhängig.
- Winzig. Ziel für den kleinsten Kernel mit Shell: unter 64 KB Code, unter 32 KB RAM.
Alles ist beim Bauen abschaltbar.
- Alles in einer Datei, wenn's eng wird. Auf Mikrocontrollern werden alle Werkzeuge zu einem
Programm zusammengebunden (wie BusyBox).
- Messen statt raten. Bootzeit, freier Speicher, Kontextwechsel – jede Session misst ihren Teil.
- Flash-fest. Das eigene Dateisystem soll Verschleiß ausgleichen und Stromausfälle überleben.