diff options
author | Thomas Schwinge <tschwinge@gnu.org> | 2007-09-03 15:26:03 +0200 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2007-09-03 15:28:06 +0200 |
commit | 855af9a0ee8d1bdebff882a62104134a71044dba (patch) | |
tree | 00a93447c5c045df3cc69375de884e76b065ad4a /microkernel/mach/gnumach/building.mdwn | |
parent | 94aafdb76706abe3c0d2f0f06c8f37fbcdb1056e (diff) | |
download | web-855af9a0ee8d1bdebff882a62104134a71044dba.tar.gz web-855af9a0ee8d1bdebff882a62104134a71044dba.tar.bz2 web-855af9a0ee8d1bdebff882a62104134a71044dba.zip |
Break up `Mach' and `Mig' hierarchies, merge them into `microkernel/mach/', `microkernel/mach/gnumach/', `microkernel/mach/mig/', and elsewhere.
Diffstat (limited to 'microkernel/mach/gnumach/building.mdwn')
-rw-r--r-- | microkernel/mach/gnumach/building.mdwn | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/microkernel/mach/gnumach/building.mdwn b/microkernel/mach/gnumach/building.mdwn new file mode 100644 index 00000000..a85490e2 --- /dev/null +++ b/microkernel/mach/gnumach/building.mdwn @@ -0,0 +1,98 @@ +# <a name="Building_GNUMach_GNU_Mach_from_S"> </a> Building [[GNUMach]] from Source + +If you want to build the [[GNUMach]] 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. + +## <a name="Getting_the_Source_Code"> Getting the Source Code </a> + +### <a name="Developers_s_rcs"> Developers's rcs </a> + +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 ) + +### <a name="What_Debian_is_currently_using"> What Debian is currently using </a> + +See [here](http://packages.debian.net/source/unstable/gnumach). + + $ apt-get source gnumach + +Please see [[Distrib/DebianFAQ]] before using _apt-get source_. + +## <a name="Preparing_for_the_Build"> Preparing for the Build </a> + +### <a name="_on_Debian_systems"> ... on Debian systems </a> + +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 + +### <a name="_on_non_Debian_systems"> ... on non-Debian systems </a> + +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. + +## <a name="Building_and_Installing"> Building and Installing </a> + +### <a name="_Debian_deb_files"> ... Debian _.deb_ files </a> + +Change into the directory with the downloaded / unpacked _gnumach_ sources, e.g. + + $ cd gnumach-20050801 + +Start the build process with + + $ dpkg-buildpackage -us -uc -b -rfakeroot + +[[GNUMach]] 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. + +### <a name="_TODO_"> [TODO] </a> + +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.] + +### <a name="Installing_only_the_Header_Files"> Installing only the Header Files </a> + +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 |