中文说明
Aviso: o projeto ainda está no estágio inicial e os programas de usuário não estão disponíveis no sistema operacional. Qualquer risco potencial de executar o software em máquinas virtuais ou metais nus deve ser levado em consideração pelo usuário.
Atualmente, o projeto suporta apenas a arquitetura x86_64 e provavelmente apoiará o AARCH64 no futuro.
io-uring da Linux.debug - contém os arquivos de montagem descompilados, símbolos de depuração, informações de arquivos de objeto. e os arquivos de log serial das máquinas virtuais.h2o - contém o código -fonte do kernel.scripts - contém os scripts necessários para a construção do projeto.src - Contém o código -fonte de bibliotecas e executáveis para todo o projeto.target - contém os binários e arquivos de disco virtual.xtask - contém o construtor do projeto.Baixe a ferrugem e outras dependências (Ubuntu, por exemplo):
# 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 "Adicione o seguinte alvo:
rustup target add nightly-x86_64-unknown-linux-gnuMude no diretório raiz do projeto e execute o seguinte comando:
cargo xtask dist imgPara executar o sistema operacional com Qemu, execute o seguinte comando:
sh scripts/run.sh qemu N # N for the number of CPUs e verifique o arquivo debug/qemu.log , você deve ver a saída do sistema operacional.
Para depurar com Qemu, execute o seguinte comando:
sh scripts/run.sh qdbg N # Same as abovee abrir um novo 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 :1234Então você pode definir pontos de interrupção (kernel.sym, por exemplo):
b kmain
cSe você deseja executar o sistema operacional com outros softwares da VM, verifique o Run.sh primeiro e crie manualmente os arquivos de configuração da VM como desejar. Não se esqueça de adicionar o disco virtual e o log serial ou nenhuma saída estará presente!
Se você quiser fazer contribuições, entre em contato comigo primeiro.