Skip to content

Ollrogge/MiniatureOs

Repository files navigation

MiniatureOS

A minimalist, hobbyist bootloader and kernel created to explore the fundamentals of operating system development. The goal is to implement everything from scratch with zero external dependencies.

Current Features (non-exhaustive)

  • 4-stage BIOS bootloader
  • Processes & Scheduling:
    • Basic round-robin scheduler for now
    • Support for kernel and user threads
  • File Systems:
    • ext2 driver
    • initramfs support
  • Program loading: ELF binaries
  • Synchronization primitives: mutex, rwlock, etc.

Build

Add nightly toolchain

rustup target add x86_64-unknown-none

Configure cargo

Add the following to .cargo/config.toml:

 [unstable]
  # enable the unstable artifact-dependencies feature, see
  # https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#artifact-dependencies
  bindeps = true

About

Minimalist hobbyist bootloader and x86_64 kernel

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published