Ludos
Ludos ist ein Hobby-Linux-ähnlicher Kernel, der zum Spaß in C ++ geschrieben wurde.
Merkmale
- Unterstützt derzeit die 32-Bit-X86-Architektur
- Ein erweiterbares virtuelles Dateisystem mit der Möglichkeit, Funktionsaufruf -Schnittstellen auf Knoten freizulegen, um eine sauberere Schnittstelle als IOCTL bereitzustellen
- PS/2 -Tastatur- und Mausunterstützung
- Präventive und kooperative Multitasking
- Unterstützt Auflösungen bis zu 1920x1080 mit VBE FrameBuffer
- Verwendet MTRRS, um die bessere Leistung mit dem FrameBuffer zu bieten
- Unterstützung für SATA -Laufwerke über AHCI und ATA
- Ext2 -Dateisystem- und TAR -Dateien, die auf dem VFS montieren
- Ein leuchtendapfes grafisches Framebuffer-Anschluss und Schale
Ziele
- Unterstützung für die 64-Bit-X86-Architektur und den Arm
- TCP/IP -Treiber
- Ein vollwertiger grafischer Fenstermanager
- Dynamischer Linker -Unterstützung
- Portierungsprogramme wie GCC, Nasm oder Freedom to Ludos
Abhängigkeiten
QEMU wird benötigt, um den Kernel mit tools/run.sh zu betreiben. Auf Ubuntu und Derivaten: sudo apt-get install qemu-system
Wie man baut:
Integrierte Binärdateien sind bereits im Build/Bin -Verzeichnis enthalten. Wenn Sie jedoch das Repository wie folgt erstellen möchten:
- Erstellen Sie zuerst Ihren eigenen Cross-Compiler, der folgenden Anweisungen folgt: https://wiki.osdev.org/gcc_cross-compiler
- Build to Project durch Ausführen von
CXX=<cross-g++-path> CC=<cross-gcc-path> cmake CMakeLists.txt und dann make .
Wie man rennt:
Führen Sie die Skript tools/run.sh aus, mit denen QEMU auf der Kernel -Binärdatei ausgeführt wird.
Screenshots: