choudanu4 / rxinu

Rust implementation of Xinu educational operating system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

rxinu

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

Running

Quick Run (Qemu)

bootimage run --target x86_64-rxinu

Other methods

See here for instructions on running the kernel on VirtualBox or on real hardware.

Debugging

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"

Features

  • Architectures
    • x86_64
  • MMU
    • Paging
    • Heap Allocation
  • Interrupt Handling
    • Exceptions
    • IRQ
  • Scheduling
    • Cooperative Scheduler
  • Device Drivers
    • PIC
    • PIT
    • PS/2 Keyboard
    • Serial
    • VGA

License

Licensed under either of

at your option.

Contribution

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.

About

Rust implementation of Xinu educational operating system

License:Apache License 2.0


Languages

Language:Rust 97.9%Language:Assembly 1.3%Language:Dockerfile 0.8%