Skip to content

Turtel216/CeltigarOS

Repository files navigation

CeltigarOS

A microkernel operating system written in Rust, built for learning and experimentation.


🚀 About

CeltigarOS is a hobby operating system developed in Rust, inspired by the excellent Writing an OS in Rust tutorial series by Philipp Oppermann.

The primary goal of this project is to gain a deeper understanding of:

  • Bare-metal development
  • Operating system concepts
  • The advantages and limitations of using Rust for OS development

This project is built from scratch with no standard library, targeting x86_64 architecture.


🛠️ Features

  • ✅ Bare-metal kernel written in Rust
  • ✅ Custom minimal bootloader using bootimage
  • ✅ Runs on qemu-system-x86_64
  • ✅ Paging, memory management
  • ✅ Cooperative multitasking
  • 🚧 Preemptive Task scheduling, and system calls (in progress)
  • 🧪 Unit and integration tests for kernel components

🧰 Prerequisites

Before building CeltigarOS, make sure the following are installed on your system:


🧱 Build Instructions

  1. Clone the Repository

    git clone https://github.com/Turtel216/CeltigarOS.git
    cd CeltigarOS
  2. Install QEMU Follow the instructions for your platform: QEMU Installation Guide

  3. Install Rust nightly toolchain

    rustup install nightly
    rustup override set nightly
    rustup component add rust-src --toolchain nightly
  4. Install required components

    cargo install bootimage
    rustup component add llvm-tools-preview
  5. Build and run the OS

    cargo run
  6. Run tests

    cargo test

🔍 Project Structure

CeltigarOS/
├── src/                # Kernel source code
├── Cargo.toml          # Project manifest
└── .cargo/config.toml  # Build target configuration

📚 Resources & Inspirations


🤝 Contributing

This is a personal learning project, but contributions, suggestions, or ideas are always welcome! Feel free to open issues or submit pull requests.


📜 License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

An Operating System written in Rust

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages