Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/pastaboy12345/SilverOS/llms.txt

Use this file to discover all available pages before exploring further.

SilverOS is a from-scratch, bare-metal x86_64 operating system built with GCC, NASM, and GNU LD. It boots via GRUB2 with a Multiboot2 header, initialises all x86 hardware structures (GDT, IDT, PIC), manages physical memory with a bitmap allocator, runs a custom SilverFS filesystem over ATA storage, and presents a fully windowed graphical desktop environment — all without depending on any external OS libraries.

Introduction

Learn what SilverOS is, what it includes, and what hardware it targets.

Building SilverOS

Set up the toolchain and compile the kernel, ISO image, and virtual disk.

Running in QEMU

Launch SilverOS in QEMU with KVM acceleration and a virtual RTL8139 NIC.

Architecture Overview

Explore the high-level design: boot sequence, subsystem layout, and source tree.

What’s inside SilverOS

SilverOS is organised into well-defined subsystems. Each has its own source directory and public C header.

Kernel

GDT, IDT, PIC, timer, physical memory manager, and kernel heap allocator.

Drivers

Double-buffered framebuffer, PS/2 keyboard and mouse, ATA storage, RTC, and serial.

SilverFS

Custom inode-based filesystem stored on a virtual ATA disk, with a host-side mkfs tool.

Networking

RTL8139 Ethernet driver with ARP, IPv4, and ICMP (ping) support.

Desktop Environment

Windowed GUI with a taskbar, login screen, Z-ordering window manager, and built-in terminal.

Boot Sequence

GRUB2 Multiboot2 boot path from BIOS hand-off through to the desktop event loop.

Quick start

1

Install dependencies

You need gcc, nasm, ld, grub-mkrescue, and qemu-system-x86_64 on a Linux host.
sudo apt install build-essential nasm grub-pc-bin grub-common xorriso qemu-system-x86
2

Build the kernel and disk image

make        # builds silveros.bin + disk.svd
make iso    # wraps the kernel into a bootable ISO
3

Run in QEMU

make run
SilverOS boots to a graphical boot menu. Select Start SilverOS Desktop or Start Minimal Shell.
4

Log in

At the login screen, enter username user and password password (defaults set by user_init). The desktop launches and opens a terminal window automatically.
SilverOS targets x86_64 and is developed and tested on QEMU 7+. Running on real hardware is possible but untested — ensure your machine supports legacy BIOS/GRUB2 boot and has a compatible framebuffer.

Build docs developers (and LLMs) love