diff options
author | Thomas Schwinge <tschwinge@gnu.org> | 2008-11-14 00:07:38 +0100 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2008-11-14 00:07:38 +0100 |
commit | 84bac506a38900563a938ecc97ec638dda736f02 (patch) | |
tree | e3356804331355cc19920d23598bdb21e7bf9198 /microkernel/mach/gnu_mach/building.mdwn | |
parent | 02bcc0768865302843ef96183f825a2453dd5d12 (diff) | |
parent | 8f929bde2919c770b1f26397567526626e0683f2 (diff) | |
download | web-84bac506a38900563a938ecc97ec638dda736f02.tar.gz web-84bac506a38900563a938ecc97ec638dda736f02.tar.bz2 web-84bac506a38900563a938ecc97ec638dda736f02.zip |
Merge branch 'homepage'
Diffstat (limited to 'microkernel/mach/gnu_mach/building.mdwn')
-rw-r--r-- | microkernel/mach/gnu_mach/building.mdwn | 114 |
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..014d3e87 --- /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 <http://savannah.gnu.org/cvs/?group=hurd>. + + $ 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/gnu_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 |