oceanic
1.0.0
中文說明
警告:該項目仍處於早期階段,並且在操作系統中無法使用用戶程序。用戶應考慮到虛擬機或裸機在虛擬機或裸機中運行該軟件的任何潛在風險。
目前,該項目僅支持X86_64體系結構,將來可能會支持AARCH64。
io-uring更方便,更有資源友好。debug - 包含分解的組件文件,調試符號,對象文件信息。以及虛擬機的串行日誌文件。h2o包含內核的源代碼。scripts - 包含構建項目所需的腳本。src包含整個項目的庫和可執行文件的源代碼。target - 包含二進製文件和虛擬磁盤文件。xtask包含該項目的構建器。下載Rust和其他依賴項(例如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 "添加以下目標:
rustup target add nightly-x86_64-unknown-linux-gnu更改為項目的根目錄並運行以下命令:
cargo xtask dist img要使用QEMU運行操作系統,請運行以下命令:
sh scripts/run.sh qemu N # N for the number of CPUs並檢查debug/qemu.log文件,您應該看到OS的輸出。
要與Qemu進行調試,請運行以下命令:
sh scripts/run.sh qdbg N # Same as above並打開一個新的終端:
# 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 :1234然後,您可以設置斷點(例如kernel.sym):
b kmain
c如果要使用其他VM軟件運行OS,請先檢查Run.SH,然後根據需要手動創建VM配置文件。不要忘記添加虛擬磁盤和串行日誌,或者不會出現輸出!
如果您想做出貢獻,請務必先與我聯繫。