Skip to content

fugufish123/modrust-os

Repository files navigation

ModRust OS

The name comes from Modular and Modern Rust Operating system. A hobby x86_64 OS developed in rust with aspirations to become modular.

Key Features

  • Framebuffer (it just displays a gradient)
  • ACPI and APIC
  • SATA Support
  • Basic memory allocator
  • FAT32 Support (for now read-only)
  • Serial Debugging
  • Basic PCI support

TODO:

  • Testing on a real system
  • Serial console
  • FAT32 write support
  • VFS
  • Syscalls
  • Userspace
  • Multithreading
  • API for booting both from Limine and Multiboot2
  • Initramfs and modules

Requirements

rustup (rustc 1.95.0-nightly (e96bb7e44 2026-01-27)), git, qemu (only if you don't test on real hardware), mtools (for adding files to disk image), xorriso, ffmpeg (for creating audio file) A modern linux distro (or WSL2)

Compiling

  git clone https://github.com/fugufish123/modrust-os.git
  cd modrust-os
  make # add run if you decide to start the system

Running

You need to create a sound file in raw format PCM 16-bit 44100 unsigned and add a disk image if you use qemu

  # creating music file and catalog 
  mkdir -p music
  ffmpeg -i your_music.mp3 -f u16le -acodec pcm_u16le -ar 44100 -ac 2 music/music.raw # creating the music file
  # creating disk image
  qemu-img create -f raw disk.img 512M
  sgdisk -o -n 1:2048:0 -t 1:ef00 disk.img
  mkfs.vfat --offset 2048 -F 32 -n "MODRUST_OS" disk.img
  echo "Welcome from README.TXT in FAT32 partition on ModRust OS" > README.TXT
  mcopy -i disk.img@@1M README.TXT ::/README.TXT

now you do

  # Build the project and launch in QEMU
  make run

About

Modern and Modular Rust Operating System

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors