2007-01-30 22:53:23 +03:00
|
|
|
Building on BeOS
|
|
|
|
================
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
For building on BeOS you need the development tools from:
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
http://haiku-os.org/downloads
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Please always use the most recent versions. They are required to build Haiku.
|
2002-07-09 16:24:59 +04:00
|
|
|
|
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Building on a non-BeOS platform
|
|
|
|
===============================
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-02-22 20:23:06 +03:00
|
|
|
Please read the file 'ReadMe.cross-compile' before continuing. It describes
|
|
|
|
how to build the cross-compilation tools and configure the build system for
|
|
|
|
building Haiku. After following the instructions you can directly continue
|
|
|
|
with the section Building.
|
2005-12-07 01:47:56 +03:00
|
|
|
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-02-22 20:23:06 +03:00
|
|
|
Configuring on BeOS
|
|
|
|
===================
|
2005-12-07 01:47:56 +03:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Open a Terminal and change to your Haiku trunk folder. To configure the build
|
|
|
|
you can run configure like this:
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
./configure --target=TARGET
|
2005-07-07 18:56:36 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Where "TARGET" is the target platform that the compiled code should run on:
|
|
|
|
* haiku (default)
|
|
|
|
* r5
|
|
|
|
* bone
|
|
|
|
* dano (also for Zeta)
|
2005-07-07 18:56:36 +04:00
|
|
|
|
2005-12-07 01:47:56 +03:00
|
|
|
The configure script generates a file named "BuildConfig" in the "build"
|
2007-01-30 22:53:23 +03:00
|
|
|
directory. As long as configure is not modified (!), there is no need to call
|
|
|
|
it again. That is for re-building you only need to invoke jam (see below).
|
2005-07-07 18:56:36 +04:00
|
|
|
If you don't update the source tree very frequently, you may want to execute
|
2007-01-30 22:53:23 +03:00
|
|
|
'configure' after each update just to be on the safe side.
|
2005-12-07 01:47:56 +03:00
|
|
|
|
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Building
|
|
|
|
========
|
2005-12-07 01:47:56 +03:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Haiku can be built in either of two ways, as disk image file (e.g. for use
|
|
|
|
with emulators) or as installation in a directory.
|
2005-12-07 01:47:56 +03:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Image File
|
|
|
|
----------
|
2005-12-07 01:47:56 +03:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
jam -q haiku-image
|
2005-12-07 01:47:56 +03:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
This generates an image file named 'haiku.image' in your output directory
|
|
|
|
under 'generated/'.
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
VMware Image File
|
|
|
|
-----------------
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
jam -q haiku-vmware-image
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
This generates an image file named 'haiku.vmdk' in your output
|
|
|
|
directory under 'generated/'.
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Directory Installation
|
|
|
|
----------------------
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
HAIKU_INSTALL_DIR=/Haiku jam -q install-haiku
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Installs all Haiku components into the volume mounted at "/Haiku" and
|
|
|
|
automatically marks it as bootable. To create a partition in the first place
|
|
|
|
use DriveSetup and initialize it to BFS.
|
2005-07-07 18:56:36 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Note that installing Haiku in a directory only works as expected under BeOS,
|
|
|
|
but it is not yet supported under Linux and other non-BeOS platforms.
|
2005-12-07 01:47:56 +03:00
|
|
|
|
2008-03-04 02:20:26 +03:00
|
|
|
Bootable CD-ROM Image
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
* UNSUPPORTED yet *
|
|
|
|
|
2008-03-06 04:33:46 +03:00
|
|
|
This _requires_ having the mkisofs tool installed.
|
|
|
|
On Debian GNU/Linux for example you can install it with:
|
|
|
|
apt-get install mkisofs
|
|
|
|
On BeOS you can get it from http://bebits.com/app/3964 along with cdrecord.
|
|
|
|
|
2008-03-04 02:20:26 +03:00
|
|
|
Creating a bootable CD requires burning 2 tracks on a single CD.
|
|
|
|
The first track is an El-Torito bootable ISO file-system containing a boot
|
|
|
|
floppy image, and is created with:
|
|
|
|
|
|
|
|
jam -q haiku-boot-cd
|
|
|
|
|
|
|
|
This generates an image file named 'haiku-boot-cd.iso' in your output directory
|
|
|
|
under 'generated/'.
|
|
|
|
The second track is the raw BFS image 'haiku.image' in 'generated/' created
|
|
|
|
with:
|
|
|
|
|
|
|
|
jam -q haiku-image
|
|
|
|
|
|
|
|
Under Unix/Linux, and BeOS you can use cdrecord to create a CD with:
|
|
|
|
|
|
|
|
cdrecord dev=x,y,z -v -eject -dao -data generated/haiku-boot-cd.iso generated/haiku.image
|
|
|
|
|
2008-03-04 15:32:07 +03:00
|
|
|
Here x,y,z is the device number as found with cdrecord -scanbus, it can also
|
|
|
|
be a device path on Linux.
|
|
|
|
|
|
|
|
Windows users will find '3rdparty/nero/haiku-cd.cue' useful.
|
|
|
|
|
2008-03-04 19:10:22 +03:00
|
|
|
Since the CD has two tracks it is not easy to test it from an emulator.
|
|
|
|
Instead it is simpler to use the 'haiku.image' as CD image and the floppy
|
|
|
|
image 'haiku-boot-floppy.image' to boot from it.
|
|
|
|
|
|
|
|
For Qemu:
|
|
|
|
|
|
|
|
qemu -cdrom generated/haiku.image -fda generated/haiku-boot-floppy.image -boot a
|
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Building Components
|
|
|
|
-------------------
|
2005-07-07 18:56:36 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
If you don't want to build the complete Haiku, but only a certain
|
|
|
|
app/driver/etc. you can specify it as argument to jam, e.g.:
|
2005-12-07 01:47:56 +03:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
jam Pulse
|
2005-12-07 01:47:56 +03:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Alternatively, you can 'cd' to the directory of the component you want to
|
|
|
|
build and run 'jam' from there.
|
2005-12-07 01:47:56 +03:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
You can also force rebuilding of a component by using the "-a" parameter:
|
2005-12-07 01:47:56 +03:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
jam -a Pulse
|
2002-07-09 16:24:59 +04:00
|
|
|
|
|
|
|
|
2005-07-07 18:56:36 +04:00
|
|
|
Running
|
2007-01-30 22:53:23 +03:00
|
|
|
=======
|
2002-07-15 02:10:54 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
Generally there are two ways of running Haiku. On real hardware using a
|
|
|
|
partition and on emulated hardware using an emulator like Bochs or QEmu.
|
2002-07-15 02:10:54 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
On Real Hardware
|
|
|
|
----------------
|
2002-07-15 02:10:54 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
If you have installed Haiku to its own partition you can include this
|
|
|
|
partition in your bootmanager and try to boot Haiku like any other OS you
|
|
|
|
have installed. To include a new partition in the BeOS bootmanager run this
|
|
|
|
in a Terminal:
|
2002-07-15 02:10:54 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
bootman
|
2002-07-15 02:10:54 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
On Emulated Hardware
|
|
|
|
--------------------
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
For emulated hardware you should build disk image (see above). How to setup
|
|
|
|
this image depends on your emulater. A tutorial for Bochs on BeOS is below.
|
|
|
|
If you use QEmu, you can usually just provide the path to the image as
|
|
|
|
command line argument to the "qemu" executable.
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2005-07-07 18:56:36 +04:00
|
|
|
Bochs
|
|
|
|
-----
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2005-07-07 18:56:36 +04:00
|
|
|
Version 2.2 of Bochs for BeOS (BeBochs) can be downloaded from BeBits:
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2005-07-07 18:56:36 +04:00
|
|
|
http://www.bebits.com/app/3324
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2005-07-07 18:56:36 +04:00
|
|
|
The package installs to: /boot/apps/BeBochs2.2
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2005-12-07 01:47:56 +03:00
|
|
|
You have to set up a configuration for Bochs. You should edit the ".bochsrc" to
|
|
|
|
include the following:
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2005-07-07 18:56:36 +04:00
|
|
|
ata0-master: type=disk, path="/path/to/haiku.image", cylinders=122, heads=16, spt=63
|
|
|
|
boot: disk
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2005-07-07 18:56:36 +04:00
|
|
|
Now you can start Bochs:
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2005-07-07 18:56:36 +04:00
|
|
|
$ cd /boot/apps/BeBochs2.2
|
2002-07-09 16:24:59 +04:00
|
|
|
$ ./bochs
|
|
|
|
|
2005-07-07 18:56:36 +04:00
|
|
|
Answer with RETURN and with some patience you will see Haiku booting.
|
2005-12-07 01:47:56 +03:00
|
|
|
If booting into the graphical evironment fails you can try to hit "space" at the
|
|
|
|
very beginning of the boot process. The Haiku bootloader should then come up and
|
|
|
|
you can select some safe mode options.
|
2005-05-16 14:03:16 +04:00
|
|
|
|
|
|
|
|
|
|
|
Docbook documentation
|
2007-01-30 22:53:23 +03:00
|
|
|
=====================
|
|
|
|
|
|
|
|
Our documentation can be found in 'src/documentation/'. You can build it by
|
|
|
|
running 'jam' in that folder. The results will be stored in the 'generated/'
|
|
|
|
folder.
|