中文说明
ADVERTENCIA: El proyecto todavía está en la etapa temprana, y los programas de usuarios no están disponibles en el sistema operativo. El usuario debe tener en cuenta cualquier riesgo potencial de ejecutar el software en máquinas virtuales o metales desnudos.
Actualmente, el proyecto solo admite la arquitectura x86_64, y probablemente admitirá AARCH64 en el futuro.
io-uring de Linux.debug : contiene los archivos de ensamblaje descompilados, símbolos de depuración, información sobre archivos de objetos. y los archivos de registro en serie de las máquinas virtuales.h2o : contiene el código fuente para el núcleo.scripts : contiene los scripts requeridos para construir el proyecto.src : contiene el código fuente de bibliotecas y ejecutables para todo el proyecto.target : contiene los binarios y los archivos de disco virtual.xtask : contiene el constructor para el proyecto.Descargue Rust y otras dependencias (Ubuntu, por ejemplo):
# 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 "Agregue el siguiente objetivo:
rustup target add nightly-x86_64-unknown-linux-gnuCambie al directorio raíz del proyecto y ejecute el siguiente comando:
cargo xtask dist imgPara ejecutar el sistema operativo con QEMU, ejecute el siguiente comando:
sh scripts/run.sh qemu N # N for the number of CPUs y verifique el archivo debug/qemu.log , debería ver la salida del sistema operativo.
Para depurar con QEMU, ejecute el siguiente comando:
sh scripts/run.sh qdbg N # Same as abovey abrir una nueva 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 :1234Luego puede establecer puntos de interrupción (kernel.sym por ejemplo):
b kmain
cSi desea ejecutar el sistema operativo con otros software de VM, consulte el Run.SH primero y cree manualmente archivos de configuración de VM como desee. ¡No olvide agregar el disco virtual y el registro en serie o ninguna salida estará presente!
Si desea hacer contribuciones, asegúrese de contactarme primero.