Ingo Weinhold c9ce15c94a * Reworked the design: It certainly doesn't make sense to display more than
one alert, when two threads of a team crash. Now we have a per team queue
  of debug messages and a thread per team that processes them (that is
  usually only the first one). The application class does nothing anymore.
* Implemented debugger handover:
  - In case of normal apps, when the relevant servers needed for GUI are
    running, we show an alert and, if requested, start a MiniTerminal with
    gdb for the crashed team. I couldn't really test it, since alerts don't
    seem to work, respectively crash the app server (usually both ;-).
  - In case the app server crashes, we always start a consoled with gdb.
    This does indeed seem to work.
  A gdb attached to a team is not really useful yet, since the shared object
  relocations seem to be incorrect, so "bt" is not giving any useful info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 12:29:53 +00:00
2005-07-15 11:11:06 +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"
Description
The Haiku operating system
Readme 550 MiB
Languages
C++ 52.2%
C 46.6%
Assembly 0.4%
HTML 0.3%
Python 0.1%