a monolithic kernel written in rust to x86 architecture, with a userland shell.
(\/) (°,,,,°) (\/)
-
install
rust
&qemu-system-x86_64
-
change you
rustc
channel to nightlyrustup default nightly-x86_64-unknown-linux-gnu
to check your
rustc
details runrustc --version --verbose
-
cargo install
bootimage
cargo install bootimage
-
add
rustc
componentllvm-tools-preview
andrust-src
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu rustup component add llvm-tools-preview
-
cargo run
- add the
-s -S
options to the qemu command. - load the binary with gdb
gdb /path/to/CrabOS
- run in gdb
target remote localhost:1234
- start debugging :)
- UART for exceptions and unit testing
- VGA buffer
- interrupts & exceptions
- physical memory manager
- virtual memory manager
- kernel heap management
- processes
- syscall structure & userland
- file system
- shell and some commands
- maybe security stuff...
osdev
intel's developer manual
Tutorials
Repositories