Go to file
Axel Dörfler 67e79bf45a A message looper can now have a death semaphore, ServerWindow now uses them.
ServerApp now waits up to 3 seconds for windows before killing them - it now
waits on the death semaphore, and only kills a window if it didn't quit fast
enough.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 13:49:29 +00:00
build Adjusted build_cross_tools[_gcc4] scripts according to the new directory 2005-11-22 23:34:51 +00:00
data Merged changes from branch build_system_redesign at revision 14573. 2005-10-29 16:27:43 +00:00
docs Add a documentation of the Dano message format. These are my findings from looking at flattened Dano messages. I will adjust the Dano message reader accordingly. 2005-11-07 00:17:34 +00:00
headers moved a define to shared_info for logging update. 2005-11-24 15:18:30 +00:00
src A message looper can now have a death semaphore, ServerWindow now uses them. 2005-11-25 13:49:29 +00:00
configure Moved FreeBSD setup to define a freebsd build platform. GCC4 apparently also requires the use of GNU Make, so told the build_cross_tools script to use 'gmake' instead of 'make' on BSD systems. 2005-11-18 16:35:32 +00:00
Jamfile Merged changes from branch build_system_redesign at revision 14573. 2005-10-29 16:27:43 +00:00
Jamrules Merged changes from branch build_system_redesign at revision 14573. 2005-10-29 16:27:43 +00:00
makehaikufloppy Merged changes from branch build_system_redesign at revision 14573. 2005-10-29 16:27:43 +00:00
ReadMe Added another comment suggested by Rogier van der Hee. 2005-07-10 23:11:40 +00:00

Setting Up
--------

The build system uses Jam/MR (http://www.perforce.com/jam/jam.html).
A BeOS executable of Jam 2.5 is available at:

  http://haiku-os.org/downloads.php?mode=download&id=10&mirror=0

Unzip the executable and copy it to /boot/home/config/bin.
The Jam source code is also included in the source tree. You can as well cd
into "src/tools/jam" and run "make" to obtain an executable.

To build Haiku you also need Oliver Tappe's GCC 2.95.3. You can get it at BeBits:

  http://www.bebits.com/app/4011

Older versions of GCC 2.95.3 will likely not work.


Configuring
--------

Open a Terminal and change to your Haiku trunk folder. To configure the build you
can run configure like this:

  $ ./configure --target=TARGET

Where "TARGET" is the target platform for the build. Valid targets are "r5", "bone",
"dano" and "haiku". If you omit the target it defaults to "haiku". To configure for ZETA
use the "dano" target.

The configure script generates a file named "BuildConfig" in the "build" 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 or makehdimage (see below).
If you don't update the source tree very frequently, you may want to execute
configure after each update just to be on the safe side.


Building
--------

The preferred method to build Haiku (currently only possible on a BeOS machine)
is this:

  $ makehdimage /Haiku

Where "/Haiku" is the mounted BFS partition where you want to install Haiku on.
This can be any BFS partition with enough space available. Use DriveSetup to initialize
a partition to BFS.
If the parameter is omitted, makehdimage currently creates a 60 MB Haiku image in
this directory that you can use for Bochs, Qemu and other emulators to boot.

To build the whole source tree for your selected target platform (to use the apps,
drivers, add-ons, etc.) you can simply invoke Jam:

  $ jam

Or to build only a specific app/driver/etc. include it as an argument:

  $ jam Pulse

NOTE: If you have checked out the latest SVN revision, it is not unlikely that
some parts of the tree won't build.


Running
-------

Generally there are two ways of running Haiku. On real hardware using a partition
and on emulated hardware using an emulator like Bochs.

1. On Real Hardware

If you have installed Haiku to it's 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:

  $ bootman

And follow the steps of the installer.

2. On Emulated Hardware

For emulated hardware you should build a "haiku.image" using makehdimage without
arguments. How to setup this image depends on your emulater. A tutorial for Bochs
on BeOS is below.


Bochs
-----

Version 2.2 of Bochs for BeOS (BeBochs) can be downloaded from BeBits:

  http://www.bebits.com/app/3324

The package installs to: /boot/apps/BeBochs2.2

You have to set up a configuration for Bochs. You should edit the ".bochsrc" to include
the following:

ata0-master: type=disk, path="/path/to/haiku.image", cylinders=122, heads=16, spt=63
boot: disk

Now you can start Bochs:

  $ cd /boot/apps/BeBochs2.2
  $ ./bochs

Answer with RETURN and with some patience you will see Haiku booting.
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.


Docbook documentation
---------------------

Requirements :
- Docbook XML DTD (http://www.oasis-open.org/docbook/xml/4.2/docbook-xml-4.2.zip)
- Docbook Stylesheets (http://prdownloads.sourceforge.net/docbook/docbook-xsl-1.68.1.tar.bz2)
- libxml2, xmllin (http://libpak.neoni.net/packages/LibPak_libxml2_dev.zip)
- libxslt, xsltproc (http://libpak.neoni.net/packages/LibPak_libxslt_dev.zip)

XML catalogs must be configured to avoid internet access :
- in Docbook Stylesheets directory : sh ./INSTALL
- in your .profile, add something like this :
	export XML_CATALOG_FILES="/boot/home/docbook-xsl-1.68.1/catalog.xml /boot/home/docbook-xml-4.2/catalog.xml /etc/xml/catalog"