中文说明
Warnung: Das Projekt befindet sich noch in der frühen Phase, und Benutzerprogramme sind im Betriebssystem nicht verfügbar. Jegliches potenzielles Risiko, die Software entweder in virtuellen Maschinen oder bloße Metalle auszuführen, sollte vom Benutzer berücksichtigt werden.
Derzeit unterstützt das Projekt nur die X86_64 -Architektur und wird in Zukunft wahrscheinlich AARG64 unterstützen.
io-uring Objekten.debug - enthält die dekompilierten Assemblerdateien, Debug -Symbole und Objektdatei -Informationen. und die seriellen Protokolldateien der virtuellen Maschinen.h2o - enthält den Quellcode für den Kernel.scripts - Enthält die zum Erstellen des Projekts erforderlichen Skripte.src - Enthält den Quellcode von Bibliotheken und ausführbaren Ausführungen für das gesamte Projekt.target - Enthält die Binärdateien und virtuellen Festplattendateien.xtask - enthält den Bauunternehmer für das Projekt.Laden Sie Rust und andere Abhängigkeiten herunter (zum Beispiel Ubuntu):
# Select the nightly channel for rust
curl --proto ' =https ' --tlsv1.2 -sSf https://sh.rustup.rs | sh
sudo apt install build-essential qemu-system-x86 llvm-14 nasm
export LLVM_PATH= " /usr/lib/llvm-14 "Fügen Sie das folgende Ziel hinzu:
rustup target add nightly-x86_64-unknown-linux-gnuWechseln Sie zum Stammverzeichnis des Projekts und führen Sie den folgenden Befehl aus:
cargo xtask dist imgUm das Betriebssystem mit QEMU auszuführen, führen Sie den folgenden Befehl aus:
sh scripts/run.sh qemu N # N for the number of CPUs und überprüfen Sie debug/qemu.log -Datei, Sie sollten die Ausgabe des Betriebssystems sehen.
Führen Sie den folgenden Befehl aus, um mit QEMU zu debuggen:
sh scripts/run.sh qdbg N # Same as aboveund öffnen Sie ein neues Terminal:
# cd to the working directory
gdb debug/FOO.sym
# FOO for the binary you want to debug;
# you may check it in the directory first.
# In the gdb:
target remote :1234Dann können Sie Breakpoints festlegen (zum Beispiel Kernel.sym):
b kmain
cWenn Sie das Betriebssystem mit anderen VM -Software ausführen möchten, überprüfen Sie zuerst den Run.sh und erstellen Sie manuell VM -Konfigurationsdateien, wie Sie möchten. Vergessen Sie nicht, die virtuelle Festplatte hinzuzufügen und das serielle Protokoll oder keine Ausgabe ist vorhanden!
Wenn Sie Beiträge leisten möchten, kontaktieren Sie mich zuerst.