Skip to content

Intro

rou2exOS (shortened to r2) is a DOS-inspired hobby operating system for the x86_64 architecture, written in Rust and x86 assembly.

It boots via GRUB/Multiboot2, runs in 64-bit long mode with a custom identity-mapped page table, and exposes a kernel shell backed by a preemptive round-robin scheduler.

memento-welcome

Fig. 1: The initial screen of the MEMENTO GUI experiment. The screen is shown right after the boot (if configured in the init script so). That "thing" on the right is the mouse cursor ready to be moved by a PS/2 mouse.

The kernel speaks directly to the hardware:

  • ISA DMA for floppy I/O (FAT12),
  • ATAPI PIO for CD-ROM (ISO9660),
  • an RTL8139 NIC for Ethernet/TCP networking,
  • a VESA framebuffer or VGA text mode for output.

memento-login

Fig. 2: External userspace program demo called MEMENTO.ELF. Login window in the foreground, a wallpaper in the background.

memento-clock

Fig. 3: The Clock window in the MEMENTO GUI experiment.

Userland programs are flat ELF binaries loaded into a fixed region (0x600_000–0xA00_000) and call into the kernel via interrupt 0x7F.

kernel-shell-init

Fig. 4: Kernel shell init. The verbose output is generated by just-started external applications. The INIT.RC script file is parsed and executed by the shell command interpreter.

Releases

To run the latest release of the kernel (r2.iso) and the aux floppy image (fat.img), just visit link below and download both files to your machine.

Please consult the Build & Run page to see options on how to run the system in QEMU locally.

qemu-system-x86_64 -boot d -cdrom r2.iso -fda fat.img

Repositories

Blog posts


Note: Some portions of this documentation have been generated from the original source code by AI.