Computer emulation is a very handy tool, not only for users, but also for developers. Obviously running Haiku under native hardware is preferred (due to better performance), but this is not always an option. Manufacturers are often reluctant to release hardware specifications towards developers, and they are therefore often left to
the difficult task of writing hardware drivers from scratch - it is a plague and barrier for smaller operating systems. Since Haiku can not possibly support all the hardware available, the release of Haiku disk images that are compatible with leading industry emulators is a logical choice. Also, users may not be confident in natively installing pre-alpha software onto their computers, leaving emulators as a 'safe' and attractive option to test out Haiku.
Emulators attach to your hardware and usually emulate more common hardware on top. Because the hardware is now the same, and is fixed and consistent, development under emulation can also be consistent - bugs can be easily replicated as well,
eliminating suspect hardware. A couple of Haiku developers develop under emulators occasionally and realize their importance towards the development of Haiku.
Haiku runs very well under several of the major emulators such as Vmware, Virtual Box, and Qemu (has also been shown to run under Parallels and Virtual PC). Most emulators are cross-platform, and can be downloaded from the following locations:
Of all the emulation options, Vmware, Virtual Box, and Qemu are well supported without the need for format conversion or tinkering (should work 'out of the box'). Haiku under Vmware is the fastest emulation option (on a subjective basis), and has driver support for networking, audio, and video. Virtual Box has Vmware disk compatibility yet the audio isn't yet supported.
Haiku under Vmware
under Virtual Box
under Q (Qemu)
Where Can Haiku Disk Images be Downloaded?
Haiku's disk images are usually built on a daily basis, and can be downloaded here:
- Raw (Qemu compatible)
- Vmware (Virtual Box compatible)
Using the Disk Images
To use Haiku under Vmware, simply unzip the archive and execute the included *.vmx file. To use the disk image under Virtual Box, you will first have to create a virtual machine and add the Vmware disk image manually. For Qemu, rename the raw disk image to: haiku.img and manually configure a virtual machine using that disk image.
Tip: in order to get networking running under Haiku in Virtual Box, under your virtual machine's networking preferences, change the adapter type to 'Intel Pro/1000 MT (82540OEM), and change to 'NAT' under attached to.
Increasing Disk Image Space - Creating and Formatting Disks
The disk images provided come as 250 mb fixed disk images. The disk image's size can't be increased, but one can easily create a new disk with an increased capacity. Under the emulators GUI and virtual machine's settings, you should find an option to add another hard disk. Choose which type of disk you would like to create; there are two
- Fixed disk: This means the disk's space will be pre-allocated; i.e if you choose to create a 10 gb fixed disk, the disk image will occupy 10 gb of data on your hard drive.
- Expanding disk: If you choose to create a 10 gb disk image, the disk will appear as it's 10 gb under Haiku, but will only actually be as big as the space that's used within Haiku (it grows).
Once you've created the disk image to a size of your choice, add the secondary disk to your virtual machine and boot Haiku. The disk won't show up until you have formatted it. Navigate to Haiku's 'DriveSetup' application - the disk should be shown (See a 1gb disk added in the screenshot below).
Initializing the partition as BFS in DriveSetup.
Select the disk, and then select 'Partition>Initialize>Be File System'. Select the default variables, and accept the alert messages. Return to the menu and select 'Partition>Mount - another Haiku disk should now be on your desktop (without the leaf logo). Now simply open a tracker window on the boot disk, and a tracker window on your newly created disk and copy the contents over (over-writing the home folder on the new disk).
One final step. Navigate to the 'Terminal' application. Type in 'df' to see the disk space size & usage on each disk. After selecting the correct disk (probably /Haiku1). type in 'makebootable Haiku1'. You can now shutdown the Haiku virtual machine, remove the primary disk image (the Haiku disk image you downloaded) in your virtual machine's preferences, and make sure that the new disk you created is your primary disk now.
In order to skip a couple steps, you can download pre-built bootable disk images here
Transferring Files Between Your Host Computer and Haiku Virtual Machine:
There are several ways you can transfer files between the host and guest machines on your computer. Since there is no 'Vmware tools installer' for Haiku, file-sharing between the host and guest isn't built-in, and there's no clipboard sharing. Here are a couple of ways you could share files.
files using a disk image: create a disk image with the files you'd like to transfer from your PC to Haiku. In Windows use a utility like Burn At Once, in OS X you could use the the hard drisk utility to make an ISO i.e create a folder called 'test' on your desktop, put the files you want into that folder and execute the command: 'hdiutil makehybrid
/Users/myusername/Desktop/test -iso -joliet' (replacing
myusername with your username). Attach the resultant ISO images in place of your optical disk in your virtual machine preferences.
- Transfer files over the internet: upload files to an online server you have, and then download them internally through Haiku. Note, Haiku doesn't yet have a web browser included, however, you can use wget.
- Transfer files between the host and machine: First you'll need to setup and FTP server on your host machine. OS X users can easily do this under their sharing preferences tab. As suggested, you can use wget to download files from your host machine. You could use wput to upload files to your host machine, alternatively, you could use a grahphical client like NetPenguin.