summaryrefslogtreecommitdiff
path: root/Hurd
diff options
context:
space:
mode:
Diffstat (limited to 'Hurd')
-rw-r--r--Hurd/BuildingHurd.mdwn32
1 files changed, 26 insertions, 6 deletions
diff --git a/Hurd/BuildingHurd.mdwn b/Hurd/BuildingHurd.mdwn
index 5e9226c9..f17a3d2e 100644
--- a/Hurd/BuildingHurd.mdwn
+++ b/Hurd/BuildingHurd.mdwn
@@ -1,30 +1,48 @@
# <a name="Building_the_Hurd_from_Source"> Building the Hurd from Source </a>
+If you want to build the Hurd libraries and servers (translators) yourself instead of just using pre-built binaries, follow these instructions.
+
## <a name="Getting_the_Source_Code"> Getting the Source Code </a>
You can chose between getting the [sources from the developers's RCS](http://www.gnu.org/software/hurd/download.html#cvs):
$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co hurd
- $ cd hurd
... or (if you are working on a Debian system) the ones that are used for the [current Debian hurd package](http://packages.debian.net/source/unstable/hurd):
- $ apt-get source hurd # Unpacks in hurd-YYYYMMDD
- $ cd hurd-*
+ $ apt-get source hurd
Please see [[Distrib/DebianFAQ]] before using _apt-get source_.
The unpacked source tree is around 20MiB, and the build tree (configured with `--disable-profile`) is around 100MiB.
-## <a name="Building_the_Hurd"> Building the Hurd </a>
+## <a name="Preparing_for_the_Build"> Preparing for the Build </a>
-TODO: cross compiling.
+### <a name="_on_Debian_systems"> ... on Debian systems </a>
-Building the Hurd requires `build-essential`, `libc-dev` and `mig` packages:
+Building the Hurd requires the _build-essential_ and _fakeroot_ packages, their dependencies and additional packages that are specified by the source hurd package:
# apt-get install build-essential fakeroot
# apt-get build-dep hurd
+### <a name="_on_non_Debian_systems"> ... on non-Debian systems </a>
+
+[TODO]
+
+## <a name="Building"> Building </a>
+
+### <a name="_deb_files"> ... _.deb_ files </a>
+
+Change into the directory with the downloaded / unpacked Hurd sources, e.g.
+
+ $ cd hurd-[TODO]
+
+Start the build process with
+
+ $ dpkg-buildpackage -us -uc -b -rfakeroot
+
+### <a name="_TODO_"> [TODO] </a>
+
The Hurd has to be built in a separate directory:
$ mkdir build
@@ -49,6 +67,8 @@ If you just want to build a specific server or library, you can pass its name to
This will automatically build all libraries that are required to build the requested server or library.
+### <a name="cross_compiling_"> cross compiling. </a>
+
TODO: update.
If you want to trace the RPC calls made by some process by using `rpctrace` command, you will also want some more human-readable output of this command. This is achieved by generating `hurd.msgids` file that includes the mapping between the number of the RPC call and its name: