This is an overview of the process of building Arion OS from source.
We currently support the following platforms:
- Linux (recommended)
- WSL2 on Windows (tested and working)
Arion OS targets its own kernel ABI. A standard Linux GCC cannot compile
OS-level code for this platform. We need a GCC configured specifically
for x86_64-unknown-haiku. The buildtools compile that cross-compiler
once, locally on your machine.
Tools provided within the build system:
jam(Haiku's custom Jam 2.5)- Arion OS cross-compiler (built from buildtools)
Tools you need to install:
gitgcc/g++and binutilsmakebison(2.4 or better)flexmakeinfo(part oftexinfo)autoheader(part ofautoconf)automakeawknasmwgetzip/unzipmtoolspython3zlibzstd- Case-sensitive file system (use WSL2 home directory, NOT
/mnt/c/)
Install all at once (Ubuntu/WSL2):
sudo apt install git nasm autoconf automake texinfo flex bison \
gawk build-essential unzip zip mtools zstd python3 wget \
libzstd-dev libsolv-dev liblzma-dev libssl-dev \
libcurl4-openssl-dev libncurses-dev zlib1g-dev \
libexpat1-dev libxml2-dev# Get Arion OS source (private repo)
git clone https://github.com/Coding-Moves/Arion_OS
# Get the cross-compiler buildtools (one time only)
git clone https://review.haiku-os.org/buildtools.gitcd ArionOS
./configure --build-cross-tools x86_64 --cross-tools-source ~/buildtoolsThis takes 30-40 minutes the first time. You only need to do this once.
Arion OS uses a custom version of Jam (not standard Perforce Jam). Build it once from the buildtools:
cd ~/buildtools/jam
makeFrom inside your ArionOS directory:
cd ~/ArionOS
./configure --build-cross-tools x86_64 --cross-tools-source ~/buildtoolsThe configure script generates generated/build/BuildConfig.
You only need to re-run configure if you update the source significantly.
HAIKU_REVISION=hrev57937_111 ~/buildtools/jam/bin.linuxx86/jam @vmware-imageOutput: generated/haiku.vmdk
HAIKU_REVISION=hrev57937_111 ~/buildtools/jam/bin.linuxx86/jam @nightly-rawOutput: generated/haiku.image
HAIKU_REVISION=hrev57937_111 ~/buildtools/jam/bin.linuxx86/jam @cd-imageOutput: generated/haiku.iso
To build just one app or driver:
HAIKU_REVISION=hrev57937_111 ~/buildtools/jam/bin.linuxx86/jam -q Tracker
HAIKU_REVISION=hrev57937_111 ~/buildtools/jam/bin.linuxx86/jam -q Deskbar- Always work inside WSL2's own filesystem (
~/) not/mnt/c/ - The Windows filesystem is case-insensitive and will cause build failures
- The
generated/folder is large (~15-20 GB) — add it to.gitignore - Subsequent builds are much faster — packages are cached in
generated/download/ - If build fails at image step, check:
generated/build/haiku-revisionmust containhrev57937_111
- VM type:
Other/Unknown (64-bit) - RAM:
1024 MB - Storage: Use existing
ArionOS.vmdk - Graphics Controller:
VBoxVGA, Video Memory:128 MB - System:
1 CPU, Paravirtualization:None - Disable Hyper-V if running alongside WSL2:
Restart PC, then launch VirtualBox.
bcdedit /set hypervisorlaunchtype off
- Build the
.isoimage - Flash to USB using Rufus
- Boot from USB on target machine