Skip to content

Latest commit

 

History

42 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MasterOS Logo

🦀 MasterOS-Rust

A lightweight experimental operating system written in Rust.

MasterOS-Rust is the Rust implementation of the MasterOS project. It focuses on learning modern operating system development while exploring memory management, multitasking, interrupts, filesystems, and shell development.

Rust Architecture License


✨ Features

  • ⚡ Rust-based kernel
  • 🥾 rustosdev bootloader crate
  • 🧠 Memory management
  • 🔀 Async/Await support
  • 🧵 Multitasking
  • ⏱️ Timer support
  • ⚠️ Interrupt handling
  • 📂 Basic filesystem
  • 💻 Interactive shell
  • 🖥️ QEMU support

📚 Project History

MasterOS currently exists in two implementations:

  • MasterOS-6 — C implementation
  • MasterOS-Rust — Rust implementation

The history and lore behind the project can be found in the original MasterOS repository.


📦 Dependencies

Dependencies are managed using Cargo.

They are listed inside Cargo.toml and can be installed with:

cargo add <crate-name>@<version>

🚀 Getting Started

Clone the repository:

git clone https://github.com/gtaha23/MasterOS-Rust.git
cd MasterOS-Rust

Install required tools:

rustup component add rust-src
cargo install bootimage

Build the bootable image:

cargo bootimage

Build the kernel:

cargo build --target x86_64-mos.json
cargo build

Run inside QEMU:

cargo run

🧪 Testing

Run all tests:

cargo test

Run a specific test:

cargo test --test <test_name>

💾 Writing to USB

Write the generated boot image to a USB drive:

dd if=target/x86_64-mos/debug/bootimage-mos_rust.bin of=/dev/<usb-device> bs=4M status=progress && sync

Warning

Replace <usb-device> with the correct device path (e.g. /dev/sdb). Choosing the wrong device may erase important data.


📈 Development Timeline

Date Milestone
20.02.2025 Initial Commit
01.03.2025 Testing framework
05.07.2026 Interrupt handling
06.07.2026 GDT, IDT, Double Fault support
17.07.2026 Memory improvements, Async/Await, Multitasking
19.07.2026 Filesystem and Timer
20.07.2026 Shell development started
21.07.2026 Initial shell commands
22.07.2026 – Present Shell command improvements
31.07.2026 Filesystem integration with shell

🛣️ Roadmap

  • Interrupt handling
  • GDT / IDT
  • Memory management
  • Async scheduler
  • Multitasking
  • Filesystem
  • Shell
  • Virtual memory
  • ELF executable loader
  • Networking
  • Userspace applications
  • Graphics subsystem

🤝 Contributing

Contributions are welcome!

If you'd like to improve MasterOS-Rust, feel free to:

  • Fork the repository
  • Create a feature branch
  • Submit a Pull Request
  • Open an Issue for bugs or feature requests

👨‍💻 Developer

Currently maintained by gtaha23.

Previous MasterOS projects were developed together with e0tra, while MasterOS-Rust is currently maintained by a single active developer.


📄 License

This project has GPL-3.0 license.

About

A lightweight OS written in Rust

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages