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
cargo install cargo-xbuild
cargo install bootimage
bootimage run --target x86_64-rxinu
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"
- Architectures
- x86_64
- MMU
- Paging
- Heap Allocation
- Interrupt Handling
- Exceptions
- IRQ
- Scheduling
- Cooperative Scheduler
- Device Drivers
- PIC
- PIT
- PS/2 Keyboard
- Serial
- VGA
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.