Neptune is my attempt at writing an operating system in rust
Go to file
Ishan Jain c5ef2202a9 Added templates to support integration tests 2019-05-19 14:33:33 +05:30
src Added templates to support integration tests 2019-05-19 14:33:33 +05:30
tests Added templates to support integration tests 2019-05-19 14:33:33 +05:30
.gitignore Completed code to build for a custom architecture that is independent of linux etc 2018-07-20 17:33:26 +05:30
Cargo.lock Added unit tests, Serial interface to talk to qemu device and log output from qemu device to console 2019-05-02 22:43:39 +05:30
Cargo.toml Added unit tests, Serial interface to talk to qemu device and log output from qemu device to console 2019-05-02 22:43:39 +05:30
LICENSE.md Added readme and license 2019-05-02 15:31:20 +05:30
README.md Added readme and license 2019-05-02 15:31:20 +05:30
neptune-x86_64.json Added print/println macros, Changed color, Implemented a simple panic handler 2019-05-02 15:19:51 +05:30

README.md

Neptune

Neptune is my attempt at writing an Operating System from scratch in Rust.

Building

  1. You'll need nightly version of latest rust compiler. A simple, slightly dangerous way to do this is to run curl -sSf https://sh.rustup.rs | bash and follow the instructions.

  2. The OS for now uses BIOS to boot. I did not wrote the required ASM to boot into 16 bit and switch from 16 bit -> protected mode for this operating system because I had already done that in an older attempt at writing an operating system. So, For this project, I used bootimage. Install it using cargo install cargo-bootimage.

Running

Run it in qemu with qemu-system-x86_64 -drive format=raw,file=./target/neptune-x86_64/debug/bootimage-neptune.bin

Future Plans

  1. Boot with UEFI.
  2. Implement a short term scheduler.
  3. Threads.
  4. A Graphics Subsystem, mainly to be used to implement games and not an actual GUI interface.

License

MIT