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配置文件。不要忘记添加虚拟磁盘和串行日志,或者不会出现输出!
如果您想做出贡献,请务必先与我联系。