System Requirements
Disk Space
At least 10-20 GB free for build artifacts
RAM
Minimum 4 GB, 8 GB+ recommended
CPU
Multi-core processor recommended for faster builds
Network
Stable internet for downloading sources
Supported Platforms
Redox can be built on:- Linux: Arch, Ubuntu, Debian, Fedora, openSUSE, Gentoo, Solus
- BSD: FreeBSD, macOS (Homebrew or MacPorts)
- Experimental: Redox OS itself (bootstrapping)
Installation Methods
- Podman Build (Recommended)
- Native Build
Podman Build Installation
The Podman build method uses containers for an isolated, consistent build environment.Step 1: Download Bootstrap Script
Step 2: Run Bootstrap
The bootstrap script automatically detects your OS and installs dependencies:What Gets Installed
The Podman bootstrap installs:Core Dependencies
Core Dependencies
- Podman: Container runtime
- git: Version control
- make/gmake: Build system
- curl: Download tool
- gdb/gdb-multiarch: Debugger
- Rustup: Rust toolchain manager (stable)
FUSE Support
FUSE Support
- fuse3/libfuse3-dev: File system in userspace
- fuse-overlayfs: Overlay filesystem
- slirp4netns: User-mode networking
Emulator (QEMU)
Emulator (QEMU)
- qemu-system-x86: x86/x86_64 emulation
- qemu-system-arm: ARM emulation
- qemu-system-riscv: RISC-V emulation
- qemu-kvm: Kernel-based virtualization
- edk2-aarch64: ARM64 UEFI firmware (on Fedora/Ubuntu)
Platform-Specific Packages
Platform-Specific Packages
Arch Linux:
fuse3, fuse-overlayfs, slirp4netnsUbuntu/Debian: pkg-config, fuse3, libfuse3-devFedora: fuse3, fuse3-develSUSE: fuse, fuse-overlayfsStep 3: Configuration
After bootstrap completes, navigate to the repository:.config file is created automatically with:Step 4: Build and Run
1
Build System Image
2
Launch in QEMU
Build System Architecture Selection
Usebuild.sh for architecture-specific builds:
Configuration Profiles
- desktop: Full desktop environment with COSMIC apps
- server: Server configuration, minimal GUI
- demo: Demonstration configuration
config/<ARCH>/<CONFIG>.toml
Makefile Targets Reference
Configuration Variables
Edit.config or set as environment variables:
Troubleshooting
SELinux Errors
SELinux Errors
If you encounter build errors on non-SELinux systems:Or add to
.config:Rustup Installation Issues
Rustup Installation Issues
Manual Rustup installation:
FUSE Errors
FUSE Errors
Linux: Ensure FUSE 3 is installedFreeBSD: Load kernel module
Podman Permissions
Podman Permissions
Add user to Podman group (Linux):
Disk Space Issues
Disk Space Issues
Clean build artifacts:Remove all downloaded sources:
macOS Build Warnings
macOS Build Warnings
Native macOS builds are not recommended. The toolchain requires FUSE kernel extensions.Solution: Use Podman build instead:
Development Best Practices
Keep Build System Updated
Log Build Errors
Local Recipe Changes
Disable auto-updates for modified recipes:See Configuration Settings
Update initfs
After modifying drivers or system components:See Coding and Building
Debugging the Build
GDB Integration
Debug the kernel:localhost:1234 and loads symbols from:
Network Analysis
Capture and analyze network traffic:Advanced Configuration
Custom Filesystem Config
Create custom TOML configuration:Environment Shell
Enter build environment with correct PATH:- Cross-compiler tools in PATH
- All build dependencies accessible
- Environment variables configured
Next Steps
Quick Start
Fast-track guide to building Redox
Contributing
Contribute to Redox development
Build System Reference
Detailed build system documentation
Developer FAQ
Common development questions
Getting Support
If you encounter issues:- Check logs: Always save build output with
2>&1 | tee log.txt - Search issues: GitLab Issues
- Ask on chat: Matrix or Discord
- Read docs: Redox Book