This tutorial uses VirtualBox version 4.2.6. You can set Port Mode as either Host Pipe Mode or Raw File Mode when serial debugging with VirtualBox.
With Raw File Mode, you can easily and quickly save the debugged onto a .txt file whereas it might be rather difficult for to check out the content of debugging real time. When it comes to Host Pipe Mode, it’s a little more complicated than the Raw File Mode, but you can confirm what is being debugged real time. The results made by the two modes differ little from each other, so we recommend you employ a relatively simpler way: Raw File Mode.
For Google Code-In 2017, Arnav Bhatt created a video on how to install Haiku in Hyper-V [11 MiB].
There are two methods for installing Haiku: RAW images and Anyboot images. RAW images consist of a pre-installed environment, whereby the Virtual Hard Disk is of a fixed size. By using a RAW image, you do not need to go through the installation process.
The Anyboot images, on the other hand, can be burnt to a CD-RW or DVD-RW, or even a USB drive but they can also be used in Hyper-V, to create a virtual CD-ROM that can be used to install Haiku onto a virtual Hard Disk or even to just boot into Haiku directly. Whilst Anyboot images can be used to boot directly into Haiku, any changes that you make to the Anyboot drives will be reverted as soon as you shutdown/restart. That is why you will need to install the Haiku image to a (virtual) hard drive using the installer program bundled with the Anyboot image.
This guide will show you how to get Haiku running in Microsoft’s Hyper-V using the Anyboot images.
This tutorial describes using a feature of VirtualBox that writes the output of a serial port into a file on the host machine. Because Haiku, by default, writes debug information to the COM1 port, you can use it to quickly extract stacktraces to text files, for example.
This tutorial is based on following tools:
- Debian Wheezy
- VirtualBox 4.1.18
- Haiku R1A4.1
It should also work on platforms other than Linux.

Step 1: Configure the virtual machine
First, we will create a serial port in VirtualBox and redirect its output to file:
- Open machine settings.
- Go to the Serial Ports tab.
- Check Enable Serial Port.
- Under Port Number, chose a port and remember the one you pick.
- In the Port Mode menu, choose the Raw File option.
- In the Port/File Path field, enter the output file path.
- Click OK.
There is also the possibility to redirect output to a physical port:
The required files can be found on the “Get Haiku” page of this website which is located here.Both the raw and anyboot images are available there, do select the closest mirror to enjoy higher transfer rates. Bochs is available for free on their website which can be found here.
Go to section:
Running Haiku from a Raw or Anyboot image.
Step 1. Downloading Haiku.
After downloading the raw or anyboot image, unzip the file and in the folder, you will see a .image file.
Step 2. Opening the file.
Now download and install Bochs. Now open up the folder that Bochs was installed to in your Program files and create a folder there named
haiku. Then copy the to the image file into that folder.
You might of seen a folder called dlxlinux with files in it, we are going to create a Haiku version.
This guide describes how to install Haiku from Linux on a spare hard disk partition directly without using a CD-ROM or USB memory key. It is assumed that you are already running Linux and have prepared an empty partition for Haiku.
Download Haiku
You need to download an Anyboot image from the Haiku website.
Convert Anyboot to a raw image
Anyboot images are a combination of ISO and raw images. They can be written to DVDs, CD-ROMs, USB memory keys and hard disks. If you need to write the image to a partition, then you must first convert the Anyboot image to a raw image. You can do so using:
Haiku builds for several computer architectures, below is a list of each
architecture with additional information. The interest column does not
reflect any architecture preference by the Haiku project, only current
real-world developer interest.
x86 (Tier 1)The platform of choice for most traditional desktop and laptop computers |
Platform | Interest | Target | Haiku Loader | Haiku Kernel | Application Server | Status |
---|
32-bit x86 PC (Compat) | High | x86_gcc2 |  |  |  | Production |
32-bit x86 PC | High | x86 |  |  |  | Stable |
64-bit x86 PC | High | x86_64 |  |  |  | Production |
ARM (Tier 2)Newly revitalized line of processors excelling at low power consumption and low cost. See platform-specific notes in the source tree. |
Platform | Interest | Target | Haiku Loader | Haiku Kernel | Application Server | Status |
---|
QEMU (EFI) | Moderate | arm |  |  |  | 30% |
BeagleBoard Black | Moderate | beagle |  |  |  | 20% |
Cubieboard 4 | Moderate | cubieboard4 |  |  |  | 10% |
Raspberry Pi 3 | Moderate | rpi3 |  |  |  | 20% |
ARM64 (Tier 2)Newly revitalized line of processors excelling at low power consumption and low cost. See platform-specific notes in the source tree. |
Platform | Interest | Target | Haiku Loader | Haiku Kernel | Application Server | Status |
---|
QEMU (EFI) | Moderate | arm64 |  |  |  | 30% |
Raspberry Pi 4+ | High | arm64 |  |  |  | 10% |
RISC-V (Tier 2)Flexible, modern, open, and royalty-free CPU architecture backed by multiple major manufacturers. |
Platform | Interest | Target | Haiku Loader | Haiku Kernel | Application Server | Status |
---|
TinyEMU (raw platform) | High | riscv64 |  |  |  | 90% |
QEMU (raw platform, SBI / u-boot EFI) | High | riscv64 |  |  |  | Functional |
HiFive Unmatched (SBI / u-boot EFI) | High | riscv64 |  |  |  | Functional |
Sparc (Tier 2)Open, royalty-free CPU architecture, historically with several manufacturers. Well documented and clean hardware. See platform-specific notes in the source tree. |
Platform | Interest | Target | Haiku Loader | Haiku Kernel | Application Server | Status |
---|
Ultrasparc II machines (Ultra 60, Ultra 5, Netra T1 105) | Low | sparc |  |  |  | 20% |
Sun/Fujitsu Enterprise T5120 | Moderate | sparc |  |  |  | 0% |
m68k (Tier 3)Classic home computer devices. See platform-specific notes in the source tree. |
Platform | Interest | Target | Haiku Loader | Haiku Kernel | Application Server | Status |
---|
Atari TT | Low | m68k |  |  |  | 10% |
Atari Falcon | Low | m68k |  |  |  | 10% |
Amiga A4000/040 | Low | m68k |  |  |  | 10% |
Amiga + 68030 cpu | Low | m68k |  |  |  | 10% |
Old-world Macintosh | None | m68k |  |  |  | 1% |
NeXT Cube | None | m68k |  |  |  | 1% |
PowerPC (Tier 3)Previous challenger to the x86 market in desktop and laptop computers. See platform-specific notes in the source tree. |
Platform | Interest | Target | Haiku Loader | Haiku Kernel | Application Server | Status |
---|
Genesi Efika I & II | Low | ppc |  |  |  | 80% |
Apple G3/G4 | Low | ppc |  |  |  | 10% |
ACube Sam460ex | Low | ppc |  |  |  | 10% |
BeBox | None | ppc |  |  |  | 0% |
Icon LegendNo work complete

Needs maintainer

Ongoing work

Functional
Status icons by Yusuke Kamiyamane Building the x86_64 compiler toolset is quite easy and involves generating GCC
binaries for your platform. For a complete list of flags for the configure
script, see Haiku’s Configure Options.
x86_64 exclusively uses gcc13, this differs from our 32-bit x86_gcc2 builds which
include both gcc2 (for BeOS compatibility) and gcc13 as a secondary architecture.
From the Haiku source directory, run the following to compile
the build tools (be sure to adjust the options to match your build environment):
gcc2h / gcc13 hybrid builds
Haiku can be build as a hybrid image meaning that it contains gcc2 as well
as gcc13 binaries. More information on this can be found on the gcc-hybrid page.
This configuration is the default and is required to run both BeOS legacy
applications as well as modern one using the recent programming language
features available in newer gcc versions.
Please ensure that you have obtained a copy of Haiku's source code as
described in
Get the Haiku Source Code
if you have not already done so.
Haiku can be compiled for devices leveraging the ARMv7 or later processor architecture.
Please ensure that you have obtained a copy of Haiku’s source code as described in
Get the Haiku Source Code
if you have not already done so.
Unstable
The state of the ARM port is extremely early. Roll up your sleeves and help out!
Building the ARM compiler toolchain is quite easy using Haiku’s configure
tool.
For a complete list of flags for the configure script, see Haiku’s Configure Options