Go to file
DarkWyrm 1d32aaa939 Serious reworking of the code - AFAICT it works the way it should now.
My first attempt at OT style-compliant code. Axel would be proud. :P


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 20:31:58 +00:00
data This should now actually fix the recursive lookup of the net_stack_driver. We must only load the networking core once. 2005-04-13 14:19:20 +00:00
docs Moved all documentation out of the device_manager.h header file to this place. 2005-05-11 16:40:13 +00:00
headers fixed confusion of byteCount and charCount in ServerFont::StringWidth(), just in case anyone really uses it later. Added UTF8CountChars() to moreUTF8.h, but then I didn't need it... 2005-05-20 23:51:33 +00:00
src Serious reworking of the code - AFAICT it works the way it should now. 2005-05-21 20:31:58 +00:00
configure CVS -> .svn. 2005-03-17 10:33:36 +00:00
Jamfile docbook files go in objects dir 2005-05-15 01:44:35 +00:00
Jamrules docbook files go in objects dir 2005-05-15 01:44:35 +00:00
makehdimage It's called "preferences" not "prefs"! :-) 2005-05-19 16:49:19 +00:00
ReadMe added docbook install tips and requirements (not sure it's a good place for this) 2005-05-16 10:03:16 +00:00

NOTE: the information in this file is tremendously outdated.
The preferred method to build Haiku (currently only possible on a BeOS machine)
is this (when you're in the "current" directory):
	$ configure
	$ makehdimage /Haiku

Where /Haiku is the (mounted) partition of where you want to install Haiku on.
If the parameter is omitted, the makehdimage currently creates a 60 MB Haiku image in this directory that you can use for Bochs, Qemu and other emulators to boot.
You need a Jam 2.5 build from our sources, and GCC 2.95.3 to be able to build Haiku successfully.

Go bug us to update this file for real!


Building
--------

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

  http://open-beos.sf.net/misc/jam.zip

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 the whole source tree, launch a Terminal, cd into the openbeos root
directory and just type:

  $ ./configure
  $ jam

The configure script generates a file named BuildConfig. 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. 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.

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


Running
-------

If the build went fine, a file named floppy.x86 had been created in the
target specific objects directory (objects/x86.R1 for x86 machines).
What you want to do now, is to boot from this floppy image. Therefore you
either write the image onto a real floppy disk and restart you computer, or
you write it onto a "virtual floppy disk" emulated by a x86 PC emulator and
just start this emulator.

1. Real Floppy

Put in the disk and type in the source tree's root dir:

  $ dd if=objects/x86.R1/floppy.x86  of=/dev/disk/floppy/raw bs=18k


2. Emulated Floppy (Bochs)

Type:

  $ dd if=objects/x86.R1/floppy.x86  of=<floppy image> bs=18k

where <floppy image> has to be replaced with the filename of the floppy
image Bochs has been told to use (e.g. /tmp/obos.img).

For both cases there is also an simpler way:

  $ jam installfloppy

This builds the floppy image, if it is not up to date, and writes it to a
previously specified location. Therefore you must tell configure where this
location is:

  $ ./configure --floppy /dev/disk/floppy/raw

Ananlogously for the emulated floppy.


Bochs
-----

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

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

The package installs to: /boot/apps/BeBochs1.4

You have to set up a configuration for Bochs. A relatively short and
painless procedure follows:

Lauch a Terminal:

  $ cd /tmp
  $ /boot/apps/BeBochs1.4/bximage

Answer with "fd", RETURN (for 1.44) and "obos.img", and a floppy image
/tmp/obos.img will be created.
Open folder /boot/apps/BeBochs1.4 and backup .bochsrc. Open .bochsrc with
your favorite text editor, remove the complete contents and paste the
following instead (you may as well take the original file and insert/replace/
keep the respective lines):

romimage: file=bios/BIOS-bochs-latest, address=0xf0000
megs: 32
vgaromimage: bios/VGABIOS-elpin-2.40
floppya: 1_44=/tmp/obos.img, status=inserted
boot: a
log: /var/log/bochs-obos.log
panic: action=ask
error: action=report
info: action=report
debug: action=ignore
vga_update_interval: 300000
keyboard_serial_delay: 250
keyboard_paste_delay: 100000
floppy_command_delay: 500
ips: 2000000

Now put the OBOS boot image onto you "virtual" floppy and start Bochs:

  $ cd <OBOS sources directory>
  $ jam installfloppy
  $ cd /boot/apps/BeBochs1.4
  $ ./bochs

Answer three times with RETURN and with some patience you will see OBOS
booting.



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"