Rust implementation of Xinu, based on the excellent blog written by Philipp Oppermann
sudo apt-get install gcc qemu -y
curl https://sh.rustup.rs -sSf | sh -s -- -y
export PATH="${PATH}:$HOME/.cargo/bin"
rustup default nightly
rustup component add rust-src
rustup component add llvm-tools-preview
cargo install bootimage
cargo run # run kernel using qemu
docker build -t rxinu .
docker run -v ${PWD}:/home/rxinu/rxinu -i -t rxinu
There are multiple methods of running QEMU in headless mode. To use the curses
option, use the following:
cargo run -- -curses
See here for instructions on running the kernel on VirtualBox or on real hardware.
See Phillipp Oppermann's blog post regarding gdb to build a gdb binary that can debug x86_64 kernels.
qemu-system-x86_64 -drive format=raw,file=bootimage.bin -d int -s -S &
rust-gdb target/x86_64-rxinu/debug/rxinu -ex "target remote :1234"
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.