Ticket #876: ReadMe

File ReadMe, 6.7 KB (added by jamesb192, 18 years ago)

updated ReadMe

Line 
1Setting Up
2----------
3
4The build system uses Jam/MR (http://www.perforce.com/jam/jam.html).
5A BeOS executable of Jam 2.5 is available at:
6
7 http://haiku-os.org/files/jam.zip
8
9Unzip the executable and copy it to /boot/home/config/bin.
10you may also chek out the source via
11 `svn checkout svn://svn.berlios.de/haiku/buildtools/trunk/jam`
12and run "make" to obtain an executable 'jam' in a subdirectory. You may want to
13check out 'svn://svn.berlios.de/haiku/buildtools/trunk' now as you would probably
14be using the cross-compiler as well.
15
16To build Haiku you also need Oliver Tappe's GCC 2.95.3. You can get it at BeBits:
17
18 http://www.bebits.com/app/4011
19
20Older versions of GCC 2.95.3 will likely not work.
21
22If you intend to build Haiku from a supported build platform other than BeOS,
23e.g. GNU/Linux, you need to build a jam executable yourself (don't use the
24one coming with your distribution). cd into the "src/tools/jam" subdirectory
25of the Haiku tree and type "make" (or "gmake"). The generated jam executable
26will be found in a platform specific subdirectory, e.g. "bin.linuxx86/".
27The easiest way to use it, is to copy it to a place in your PATH. Furthermore
28you need to build the tools for cross compilation (binutils and gcc). Fear not,
29the configure script will help you with that one; see below.
30
31
32Fetching the sources
33--------------------
34
35You should run `svn checkout svn://svn.berlios.de/haiku/haiku/trunk` to fetch
36the haiku sources. all of the following commands should be run in the
37'haiku/haiku/trunk' directory and cross compilers (if desired) should be
38checked out via `svn checkout svn://svn.berlios.de/haiku/buildtools/trunk`.
39The path/to/buildtools mentioned below is *not* the path to the actual
40build tools directory, but rather the location you checked '*/buildtools/trunk'
41out to.
42
43Configuring
44-----------
45
46Under BeOS:
47
48Open a Terminal and change to your Haiku trunk folder. To configure the build you
49can run configure like this:
50
51 $ ./configure --target=TARGET
52
53Where "TARGET" is the target platform for the build. Valid targets are "r5",
54"bone", "dano" and "haiku". If you omit the target it defaults to "haiku". To
55configure for ZETA use the "dano" target.
56
57The configure script generates a file named "BuildConfig" in the "build"
58directory. As long as configure is not modified (!), there is no need to call it
59again. That is for re-building you only need to invoke jam (see below).
60If you don't update the source tree very frequently, you may want to execute
61configure after each update just to be on the safe side.
62
63
64Under Linux or another supported build platform:
65
66You don't need to supply the "--target" option to configure, since the only
67supported target is the default "haiku" anyway. But you have to tell, what
68cross compilation tools to use. The tools installed in the system won't work
69for compiling Haiku itself (they will be used for building some build tools,
70though). The easiest way is to instruct configure to build those tools from the
71sources. Supposing you have checked out the buildutils module from the Haiku
72SVN repository alongside the Haiku source tree, you can do that via:
73
74 $ ./configure --build-cross-tools path/to/buildtools
75
76One of the last output lines should tell you that the tools have been built
77successfully.
78
79Note, that the old gcc 2.95.3 will be used for building Haiku, required for
80binary compatibility with BeOS R5. If you're not interested in binary
81compatibility (or want to build for the PowerPC architecture), you can instead
82use:
83
84 $ ./configure --build-cross-tools-gcc4 <arch> path/to/buildtools
85
86Replace "<arch>" with either "x86" or "ppc", depending on which of the two
87architectures you want to build for.
88[At the moment (2005-12-06) the build for PowerPC, or at least the resulting
89Haiku does not work.]
90
91
92
93Building
94--------
95
96Haiku can be built in either of two ways, as disk image file (e.g. for use with
97emulators) or as installation in a directory.
98
99Image File:
100
101 $ jam -q haiku-image
102
103Generates an image file named "haiku.image" in your output directory (usually
104"generated/"). This method works for all supported build platforms.
105
106
107Directory Installation:
108
109 $ HAIKU_INSTALL_DIR=/Haiku jam -q install-haiku
110
111Installs all Haiku components into the directory "/Haiku". If that directory
112is the root of a mounted BFS partition, you'll have a Haiku partition afterwards.
113To create a partition in the first place use DriveSetup and initialize it to BFS.
114
115Note, that installing Haiku in a directory only works as expected under BeOS.
116
117
118Building Components:
119
120If you don't want to build the complete Haiku, but only a certain app/driver/etc.
121you can specify it as argument to jam, e.g.:
122
123 $ jam Pulse
124
125
126Running
127-------
128
129Generally there are two ways of running Haiku. On real hardware using a partition
130and on emulated hardware using an emulator like Bochs or QEmu.
131
1321. On Real Hardware
133
134If you have installed Haiku to it's own partition you can include this partition
135in your bootmanager and try to boot Haiku like any other OS you have installed.
136To include a new partition in the BeOS bootmanager run this in a Terminal:
137
138 $ bootman
139
140And follow the steps of the installer.
141
1422. On Emulated Hardware
143
144For emulated hardware you should build disk image (see above). How to setup this
145image depends on your emulater. A tutorial for Bochs on BeOS is below. If you
146use QEmu, you can usually just provide the path to the image as command line
147argument to the "qemu" executable.
148
149
150Bochs
151-----
152
153Version 2.2 of Bochs for BeOS (BeBochs) can be downloaded from BeBits:
154
155 http://www.bebits.com/app/3324
156
157The package installs to: /boot/apps/BeBochs2.2
158
159You have to set up a configuration for Bochs. You should edit the ".bochsrc" to
160include the following:
161
162ata0-master: type=disk, path="/path/to/haiku.image", cylinders=122, heads=16, spt=63
163boot: disk
164
165Now you can start Bochs:
166
167 $ cd /boot/apps/BeBochs2.2
168 $ ./bochs
169
170Answer with RETURN and with some patience you will see Haiku booting.
171If booting into the graphical evironment fails you can try to hit "space" at the
172very beginning of the boot process. The Haiku bootloader should then come up and
173you can select some safe mode options.
174
175
176Docbook documentation
177---------------------
178
179Requirements :
180- Docbook XML DTD (http://www.oasis-open.org/docbook/xml/4.2/docbook-xml-4.2.zip)
181- Docbook Stylesheets (http://prdownloads.sourceforge.net/docbook/docbook-xsl-1.68.1.tar.bz2)
182- libxml2, xmllin (http://libpak.neoni.net/packages/LibPak_libxml2_dev.zip)
183- libxslt, xsltproc (http://libpak.neoni.net/packages/LibPak_libxslt_dev.zip)
184
185XML catalogs must be configured to avoid internet access :
186- in Docbook Stylesheets directory : sh ./INSTALL
187- in your .profile, add something like this :
188 export XML_CATALOG_FILES="/boot/home/docbook-xsl-1.68.1/catalog.xml /boot/home/docbook-xml-4.2/catalog.xml /etc/xml/catalog"