Skip to main content

Prerequisites

You need QEMU, xorriso, mkfs.ext2, just, and mass skill issue tolerance.
sudo apt install qemu-system-x86 xorriso e2fsprogs
cargo install just  # or: https://github.com/casey/just#installation

Getting Started

Step 1: Clone the repository

git clone https://github.com/SlopLabs/slopos.git
cd slopos
git submodule update --init --recursive

Step 2: Setup Rust toolchain

just setup
This installs the pinned Rust nightly from rust-toolchain.toml.

Step 3: Spin the Wheel

just boot
The Wheel of Fate decides if you boot successfully. Win the spin, enter the shell. Lose, reboot and try again.

Build Commands

CommandWhat it does
just bootBoot with display window
just boot-headlessHeadless boot (serial only)
just boot-logBoot with timeout, saves to test_output.log
just testRun the test harness

Advanced Options

QEMU_DISPLAY=gtk just boot                      # Force GTK
QEMU_DISPLAY=sdl just boot                      # Force SDL
DEBUG=1 just boot                               # Debug logging
just show-qemu-resolution                       # Show detected framebuffer mode
QEMU_FB_WIDTH=2560 QEMU_FB_HEIGHT=1440 just boot  # Manual override

Project Structure

slopos/
├── boot/       → GDT, IDT, TSS, early init, SYSCALL MSRs
├── core/       → scheduler, syscall handlers, task management  
├── mm/         → physical frames, virtual memory, ELF loader
├── drivers/    → PIT, PS/2, IOAPIC, VirtIO, PCI enumeration
├── video/      → framebuffer, graphics primitives, roulette wheel
├── fs/         → ext2 implementation
├── userland/   → shell, compositor, roulette, file manager
├── kernel/     → main entry point
└── lore/       → the sacred chronicles (worth reading)
Important: SlopOS requires LAPIC + IOAPIC hardware (or QEMU q35 machine with IOAPIC enabled). The legacy 8259 PIC path has been sacrificed to the Wheel of Fate.