Build Architecture
The SuperBuild separates the host build of core Serenity libraries from the target build of the entire operating system environment.
Supported Architectures
SerenityOS can be built for the following architectures:- x86_64 - 64-bit Intel/AMD (default on x86_64 hosts)
- aarch64 - 64-bit ARM
- riscv64 - 64-bit RISC-V
Quick Start
The simplest way to build and run SerenityOS:- Download required database files from the internet
- Build the SerenityOS cross-compiler toolchain (first time only)
- Compile all of SerenityOS
- Install built files into
Build/<architecture>/Root - Build a disk image
- Start SerenityOS using QEMU
The first build will take significantly longer as it builds the toolchain. Subsequent builds will be much faster.
Build Commands
Theserenity.sh script provides several commands:
Architecture Selection
To build for a specific architecture, use theSERENITY_ARCH environment variable:
Default Credentials
- Username: anon
- Password: foo
anon from the wheel group.
Compiler Requirements
A host compiler that supports C++26 features is required:- GCC 14 or newer
- Clang 17-19 (tested versions)
Build Output
Compiled files are installed to:SuperBuild Configuration
The recommendedMeta/serenity.sh run invokes the SuperBuild equivalently to:
- Lagom - Host build for code generators and tools
- Serenity - Main OS build for the target architecture
Next Steps
Linux Build
Build instructions for Debian, Ubuntu, Arch, and more
macOS Build
Build instructions for macOS with Homebrew
Windows Build
Build instructions for WSL2 on Windows
Advanced Options
CMake options, sanitizers, and customization
