Debian / Ubuntu
Install Dependencies
1
Install build tools and libraries
Optional: Install
fuse2fs for building images without root privileges.2
Install GCC 14 or Clang 17+
- GCC 14
- Clang 17-19
3
Install QEMU 6.2 or later
Ubuntu 22.04 and later include QEMU 6.2. For earlier versions, build from source:
4
Verify CMake version
CMake 3.25.0 or later is required. If your version is older:
Build and Run
Arch Linux / Manjaro
Install Dependencies
fuse2fs- For building images without rootclang llvm llvm-libs- For building with Clang
Build and Run
Fedora
Install Dependencies
e2fsprogs package for building images without root.
openSUSE
Install Dependencies
Void Linux
Install Dependencies
ALT Linux
Install Dependencies
NixOS
Using Flakes
The repository includes a flake with all required dependencies:Using Legacy nix-shell
Toolchain/default.nix and your host nixpkgs.
Alpine Linux
Install Dependencies
1
Enable community repository
Edit
/etc/apk/repositories to enable the community repository, then:2
Install basic tools
3
Install GNU coreutils
4
Install build tools
5
Install QEMU
6
Install development libraries
samurai is a drop-in replacement for ninja.OpenBSD
Install Dependencies
FreeBSD
Install Dependencies
Optional:
fusefs-ext2 for building images without root.Building on SerenityOS
You can build SerenityOS on SerenityOS itself!Install Required Ports
Install Toolchain Ports
- LLVM
- GCC
Configure Shell
Create a symlink from/bin/sh to /usr/local/bin/bash:
Add this to your customization script to persist across rebuilds.
Ports
To build a port, navigate to its directory and run the package script:Common Port Dependencies
- Essential
- Exotic
Troubleshooting
Outdated Toolchain
If prompted to rebuild the toolchain:CMake Cache Issues
If CMake complains about version mismatches:Next Steps
Advanced Build Options
Explore CMake options, build configurations, and customization
