summaryrefslogtreecommitdiff
path: root/microkernel/mach/gnu_mach/building.mdwn
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2008-11-05 14:58:33 +0100
committerThomas Schwinge <tschwinge@gnu.org>2008-11-05 14:58:33 +0100
commitae9e4e22a7ce8b2b56e98ff1708c2e8d42eefd69 (patch)
tree53d824c19af411f67db44baeacba9b22b68731e6 /microkernel/mach/gnu_mach/building.mdwn
parent9574f098caf72da7f709c8467e96606cce04fff9 (diff)
microkernel/mach/gnumach -> microkernel/mach/gnu_mach
Diffstat (limited to 'microkernel/mach/gnu_mach/building.mdwn')
-rw-r--r--microkernel/mach/gnu_mach/building.mdwn114
1 files changed, 114 insertions, 0 deletions
diff --git a/microkernel/mach/gnu_mach/building.mdwn b/microkernel/mach/gnu_mach/building.mdwn
new file mode 100644
index 00000000..ef0d8553
--- /dev/null
+++ b/microkernel/mach/gnu_mach/building.mdwn
@@ -0,0 +1,114 @@
+Additional to the following text, a further [[example]] has be posted.
+
+
+# Building [[GNU_Mach]] from Source
+
+If you want to build the [[GNU_Mach]] kernel yourself instead of just using a
+pre-built binary, follow these instructions.
+
+The unpacked source tree is around 20 MiB, and the build tree (with all drivers
+enabled) is around 50 MiB.
+
+## Getting the Source Code
+
+### Developers's RCS
+
+See [here](http://www.gnu.org/software/hurd/gnumach-download.html#cvs).
+
+ $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co -r gnumach-1-branch gnumach
+
+(Most probably you want to get hold of the *GNU Mach 1 branch* and not the
+trunk, which is also what we've done above.)
+
+You then have to create the automatically generatable files:
+
+ $ ( cd gnumach && autoreconf --install )
+
+### What Debian is currently using
+
+See [here](http://packages.debian.net/source/unstable/gnumach).
+
+ $ apt-get source gnumach
+
+Please see the Debian [[running/debian/FAQ]] before using `apt-get source`.
+
+## Preparing for the Build
+
+### ... on Debian systems
+
+Building GNU Mach requires the *build-essential* and *fakeroot* packages, their
+dependencies and additional packages that are specified by the source gnumach
+package:
+
+ # apt-get install build-essential fakeroot
+ # apt-get build-dep gnumach
+
+### ... on non-Debian systems
+
+Apart from the case that you only want to install GNU Mach's header files (see
+below), building GNU Mach requires you to have the Mach Interface Generator
+installed. See [[building_MIG|mig/building]] about how to do that, then come
+back here.
+
+Additionally, building GNU Mach requires a C compiler, a standard C library and
+your favourite flavor of awk (gawk) and GNU make.
+
+## Building and Installing
+
+### ... Debian `.deb` files
+
+Change into the directory with the downloaded / unpacked GNU Mach sources, e.g.
+
+ $ cd gnumach-20050801
+
+Start the build process with
+
+ $ dpkg-buildpackage -us -uc -b -rfakeroot
+
+[[GNU_Mach]] is now building. To use the new kernel, you must install the
+resulting `.deb` package which is located one directory above the build
+directory and has a similar name as the build directory, e.g.
+
+ # dpkg -i ../gnumach_20050801-4_hurd-i386.deb
+
+You can now reboot your computer and enjoy the new kernel.
+
+### [TODO]
+
+GNU Mach should be built in a separate directory:
+
+ $ mkdir gnumach-build
+ $ cd gnumach-build
+
+Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure
+it:
+
+ $ [...]/gnumach-1-branch/configure [TODO]
+
+Build the kernel image:
+
+ $ make gnumach.gz
+
+Optionally run the (tiny) test suite:
+
+ $ make check
+
+You can then install and use `gnumach.gz`.
+
+[TODO.]
+
+### Installing only the Header Files
+
+GNU Mach should be built in a separate directory:
+
+ $ mkdir gnumach-build
+ $ cd gnumach-build
+
+Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure
+it:
+
+ $ [...]/gnumach-1-branch/configure --prefix=
+
+Install the header files into e.g. `~/gnu/include/`:
+
+ $ make DESTDIR=~/gnu install-data