2010-January: This document is now obsolete. We are in the process of consolidating and re-organizing the website documentation. For now please refer to the in-progress website documentation.
Even if Mac OS X is Unix based, building Haiku on it still requires some tweaks.
I tested these instructions on Mac OS X 10.5.6 (Leopard). If they work on older versions (Tiger, Panther…) please let me know.
- Case-sensitive disk image
- Fetching the buildtools and the Haiku source code
- Install required software
- Let’s Patch
- Building the buildtools ;-)
- Building Haiku
Requirements
- At least 3 GB of free space on your hard drive
- You will need the Xcode Tools: use the installer on your Mac OS X Install DVD, or download the latest version from Apple Developer Connection (free registration required).
- You must be logged in as administrator to install some tools.
- MacPorts will also be required (see Step 3 for installation tips)
Step 1: Case-sensitive disk image
The Mac OS file system, HFS+, is case-insensitive by default. This causes troubles during the build of some Haiku components, because of wrong headers inclusion (“String.h” (from Haiku) instead of “string.h” (from the system) for instance).
If your Mac OS X partition is not in case-sensitive HFS+ (which is very likely), you need to create a case-sensitive disk image and put Haiku buildtools and source code on it.
1) Open Disk Utility (in /Application/Utilities)
2) Click “New Image”, and enter the following parameters:
- Volume name: You should enter a short name without special character or spaces.
- Volume size: Haiku sources, compiled objects and the resulting Haiku disk image will take around 2.7 GB, but you should put more (8 GB for instance), especially if you want to add optional packages to the image. Only the consumed space on the image will be used on your hard drive, so don’t be afraid of setting a big value ;-)
- Volume format: Mac OS Extended (Case-sensitive)
- Encryption: You should say “none”, unless you really want to slow down Haiku building…
- Partitions: (Tiger users will not have this - just skip it): Choose No partition map.
- Image format: Choose “sparse disk image”.

The image is automatically mounted on the Desktop. If you want to remount it later, just double-click on the image file.
Step 2: Fetching the buildtools and the Haiku source code
Open a Terminal (in /Application/Utilities), and enter:
cd /Volumes/Haiku/
“/Volumes/Haiku” refers here (and in all this tutorial) to the mounted disk image name. I named it “Haiku”, so if you chose another name, use it instead of “Haiku” after “/Volumes/”.
Checkout the buildtools:
svn checkout svn://svn.berlios.de/haiku/buildtools/trunk buildtools
[ Note to Tiger users: IIRC, Subversion is not available with Xcode 2.5. You have to install it manually. ]
And the sourcecode:
svn checkout svn://svn.berlios.de/haiku/haiku/trunk haiku
You should now have two folders “haiku” and “buildtools” into the mounted disk image.
Step 3: Install required software
First, install
MacPorts (A standard Installer package is provided)
Close your Terminal, and enter in a new one:
sudo port install gnuregex gawk yasm
(You will be prompted for the administrator password of the current account - Do not worry if nothing you type shows after the Password prompt, this is intended ;-) )
- If you plan to use optional packages, add wget to the list.
- If you plan to build a bootable Haiku CD, add cdrtools to the list.
If you get an error “port: command not found”, the MacPorts shell configuration, stored in
~/.profile, is probably not taken into account.
If you’re using Bash, you probably have a
~/.bash_profile or
~/.bash_login file, preventing bash to read
~/.profile.
Check the file used by Bash (in the mentioned order) and add these lines to the used file:
export PATH=/opt/local/bin:$PATH
export MANPATH=$MANPATH:/opt/local/share/man
export INFOPATH=$INFOPATH:/opt/local/share/info
If you are using another shell, take a look a the shell documentation to see which file is parsed at login, and add the required commands.
You can now retry the port install... command in a new Terminal.
After MacPorts finished installing the tools, install the modified Haiku jam:
cd /Volumes/Haiku/buildtools/jam
make
sudo ./jam0 install
[Enter your password]
cd ..
Reopen a new Terminal, and enter jam -v.
You should get:
Jam 2.5-haiku-20080327. OS=MACOSX. Copyright 1993-2002 Christopher Seiwald.
Step 4: Let’s Patch
Now, you can compile GCC2 with:
cd /Volumes/Haiku/haiku
./configure --build-cross-tools ../buildtools
If you want to build Haiku with GCC4, use:
./configure --build-cross-tools-gcc4 x86 ../buildtools/
If you do not know which one you should use, choose gcc2: Original BeOS R5 binaries (and many Haiku optional packages) will not run on a gcc4 build.
./configure has some more options: use ./configure --help to list them.
After some time, you should get:
binutils and gcc for cross compilation have been built successfully!
Step 6: Building Haiku
Installing to the hard drive
You can boot Haiku (with some mitiged success in my case :-/) on your Mac. Before installing, please consider the following points :
- Only do this if you feel confident. There are serious risks of data loss here.
- You need a Mac with an Intel processor.
- Haiku must be installed to an internal hard drive. USB or FireWire external drives will not work.
- You need to create a new partition on your hard drive. The Boot Camp Assistant or Leopard’s Disk Utility may help.
The first step is to determine the name of the partition where Haiku should be installed. Mac OS X uses the following naming scheme : diskXsY, where X is the disk number (starting with 0), and Y the partition number (starting with 1).
You can use the diskutil list command to get the list of disks attached to the computer, and their partitions.
Create or edit the file [Mounted Disk Image]/haiku/build/jam/UserBuildConfig, and add the following line :
DefineBuildProfile disk : disk : "/dev/diskXsY" ;
(with X and Y replaced by the actual partition numbers)
This will create a “build profile” rule that will install Haiku to the partition. For more information about build profiles, see the file [Mounted Disk Image]/haiku/build/jam/UserBuildConfig.ReadMe.
After this, start a Terminal, double check the disk and partition numbers and run :
cd /Volumes/Haiku/haiku
sudo chmod o+r /dev/diskX
[enter your password]
sudo chmod o+rw /dev/diskXsY
jam -q @disk
And voilà, Haiku is installed on your Mac ! To boot on it, the best way is to install the rEFIt boot manager.
Instructions for VMware Fusion:
The command:
cd /Volumes/Haiku/haiku
jam -q haiku-vmware-image
will build a VMware disk image: [Mounted Disk Image]/haiku/generated/haiku.vmdk.
To use it, follow these steps:
- Create a folder at the root of the disk image.
- Copy [Mounted Disk Image]/3rdparty/vmware/haiku.vmx inside this folder, and edit the copy.
- Change
ide0:0.fileName = "haiku.vmdk" to ide0:0.fileName = "../haiku/generated/haiku.vmdk". Save the file.
- Double-clicking on the file should start VMware Fusion and launch Haiku.
VMware will create some files in the folder you put haiku.vmx.
If you want easy access to the virtual machine file, make an alias of the haiku.vmx file (or put it into the Dock).
Lanching this alias will mount the disk image and start the VM, automatically.
Instructions for other virtualisation/emulation software:
Haiku should run in
Q (free),
Parallels Desktop (commercial) or
VirtualBox (free).
Some of them (Parallels, …) can use the VMware disk image (see above).
For the others, you can create a raw disk image with:
cd /Volumes/Haiku/haiku
jam haiku-image
The image will be created in [Mounted Disk Image]/haiku/generated/haiku.image.