Kerla - ein Linux kompatibler Kernel in Rust

Do, 4. November 2021, Lioh Möller

Der Entwickler nuta hat vor einiger Zeit damit begonnen einen neuen Kernel in Rust zu entwickeln welcher binärkompatibel zum Linux Kernel sein soll.


Dabei ist sein Ziel nicht, den Linux Kernel zu ersetzen, sondern aufzuzeigen, inwieweit eine Rust basierte Implementierung möglich wäre. Unmodifizierte Linux Binaries sollen direkt ausgeführt werden können.

Grundlegende Funktionen wie fork, execve, eine initramfs Unterstützung, TCP/UDP Sockets, Signals, tty / pty, pipe und poll sowie grundlegende Dateioperationen stehen bereits zur Verfügung.

Zu Testzwecken hat der Entwickler eine Firecracker microVM bereitgestellt, auf die wie folgt zugegriffen werden kann:

ssh root@kerla-demo.seiya.me

Bisher bietet der Kernel noch keine Möglichkeit zum Zugriff auf Datenträger und daher wird ein initramfs als Root-Dateisystem gemounted.

Alternativ zur microVM kann ein Docker-Image genutzt werden, welches sich allerdings in einem frühen Entwicklungsstadium befindet.

Die Idee zur Erstellung eines Rust basierten Betriebssystems ist nicht neu und in diesem Zusammenhang ist auch der Vortrag Is It Time to Rewrite the Operating System in Rust? von Bryan Cantrill empfehlenswert.

Quelle: https://seiya.me/writing-linux-clone-in-rust