Neptune is my attempt at writing an operating system in rust
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ishan Jain 4fa5265c0a Updated readme 3 years ago
src Added templates to support integration tests 3 years ago
tests Added templates to support integration tests 3 years ago
.gitignore Completed code to build for a custom architecture that is independent of linux etc 4 years ago
Cargo.lock Added unit tests, Serial interface to talk to qemu device and log output from qemu device to console 3 years ago
Cargo.toml Added unit tests, Serial interface to talk to qemu device and log output from qemu device to console 3 years ago
LICENSE.md Added readme and license 3 years ago
README.md Updated readme 3 years ago
neptune-x86_64.json Added print/println macros, Changed color, Implemented a simple panic handler 3 years ago

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.

  3. Install xargo using cargo install xargo.

Running

cargo xrun --release --target ./neptune-x86_64.json

Running tests

cargo xtest --release --target ./neptune-x86_64.json

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