Documentation Index
Fetch the complete documentation index at: https://mintlify.com/serenityOS/serenity/llms.txt
Use this file to discover all available pages before exploring further.
SerenityOS Documentation
A love letter to ’90s user interfaces with a custom Unix-like core. Built from scratch with sincerity, accountability, and fun.
Quick start
Get SerenityOS running on your machine in a few steps
Clone the repository
Clone the SerenityOS repository from GitHub to your local machine.git clone https://github.com/SerenityOS/serenity.git
cd serenity
Install dependencies
Install the required build dependencies for your platform. SerenityOS supports Linux, macOS, and Windows (with WSL2). Ubuntu/Debian
macOS
Windows (WSL2)
sudo apt install build-essential cmake curl libmpfr-dev libmpc-dev libgmp-dev e2fsprogs ninja-build qemu-system-x86 qemu-utils ccache rsync unzip texinfo libssl-dev
brew install coreutils e2fsprogs qemu bash gcc@13 imagemagick ninja cmake ccache rsync
sudo apt install build-essential cmake curl libmpfr-dev libmpc-dev libgmp-dev e2fsprogs ninja-build qemu-system-x86 qemu-utils ccache rsync unzip texinfo
Build the toolchain
Build the cross-compilation toolchain. This step takes 30-60 minutes depending on your hardware.Meta/serenity.sh rebuild-toolchain
The toolchain only needs to be built once and can be reused for subsequent builds.
Build and run SerenityOS
Build the operating system and launch it in QEMU.SerenityOS will boot in a QEMU window with hardware or software virtualization enabled as supported.
Explore by topic
Dive into different aspects of SerenityOS
Architecture
Learn about the system architecture, kernel design, and userland components.
Kernel Development
Explore the 64-bit kernel with pre-emptive multi-threading and modern features.
Browser Engine
Discover LibWeb, the custom browser engine with JavaScript and WebAssembly support.
Developer Tools
Set up your development environment with IDE configuration and debugging tools.
System Libraries
Reference documentation for AK, LibC, LibCore, LibGUI, and other system libraries.
Contributing
Join the community and learn how to contribute to SerenityOS.
Key features
What makes SerenityOS unique
Security-focused
Hardware protections, pledge & unveil syscalls, KASLR, W^X memory, and web-content isolation.
Built from scratch
Custom kernel, LibC, GUI toolkit, browser engine, and all applications—no external dependencies.
Complete desktop environment
Window server, GUI applications, text editor, terminal, browser, media players, and games.
Modern web standards
JavaScript engine with high spec compliance, CSS support, WebAssembly, and more.
Ready to dive in?
Join the SerenityOS community and start building a Unix-like operating system from scratch.