diff options
Diffstat (limited to 'hurd')
-rw-r--r-- | hurd/building.mdwn | 74 |
1 files changed, 47 insertions, 27 deletions
diff --git a/hurd/building.mdwn b/hurd/building.mdwn index b91a65fe..5b88ac7c 100644 --- a/hurd/building.mdwn +++ b/hurd/building.mdwn @@ -1,58 +1,69 @@ /!\ The following information may very well be incomplete and out-dated. -# <a name="Building_the_Hurd_from_Source"> Building the Hurd from Source </a> +# Building the Hurd from Source -If you want to build the Hurd libraries and servers (translators) yourself instead of just using pre-built binaries, follow these instructions. +If you want to build the Hurd libraries and servers (translators) yourself +instead of just using pre-built binaries, follow these instructions. -One note before we begin: the likelihood that the compiled result will actually do what you expect it to do is the highest if you try building from the Debian source packages. This is especially true if you want to use your compilation within a Debian system. +One note before we begin: the likelihood that the compiled result will actually +do what you expect it to do is the highest if you try building from the Debian +source packages. This is especially true if you want to use your compilation +within a Debian system. -## <a name="Getting_the_Source_Code"> Getting the Source Code </a> +## Getting the Source Code -You can chose between getting the [sources from the developers's RCS](http://www.gnu.org/software/hurd/download.html#cvs): +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 -... 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): +... 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 -Please see the Debian [[running/debian/FAQ]] before using _apt-get source_. +Please see the Debian [[running/debian/FAQ]] before using `apt-get source`. -The unpacked source tree is around 20 MiB, and the build tree (configured with _--disable-profile_) is around 100 MiB. +The unpacked source tree is around 20 MiB, and the build tree (configured with +`--disable-profile`) is around 100 MiB. -## <a name="Preparing_for_the_Build"> Preparing for the Build </a> +## Preparing for the Build -### <a name="_on_Debian_systems"> ... on Debian systems </a> +### ... on Debian systems -Building the Hurd requires the _build-essential_ and _fakeroot_ packages, their dependencies and additional packages that are specified by the source hurd package: +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> +### ... on non-Debian systems [TODO] -## <a name="Building"> Building </a> +## Building -### <a name="Debian_deb_Files"> Debian _.deb_ Files </a> +### Debian `.deb` Files Change into the directory with the downloaded / unpacked Hurd sources, e.g. $ cd hurd-[TODO] -If you want to work on the sources before building them, it's advisable to first apply the patches the Debian hurd package additionally contains: +If you want to work on the sources before building them, it's advisable to +first apply the patches the Debian hurd package additionally contains: $ debian/rules apply-patches -Then edit and change whatever files you want and finally start the build process with +Then edit and change whatever files you want and finally start the build +process with $ dpkg-buildpackage -us -uc -nc -b -rfakeroot -The _.deb_ packages will then drop out at the _../_ directory. +The `.deb` packages will then drop out at the `../` directory. -### <a name="Building_but_not_the_Debian_Way"> Building, but not the Debian Way </a> +### Building, but not the Debian Way The Hurd has to be built in a separate directory: @@ -63,27 +74,36 @@ The Hurd has to be built in a separate directory: $ make $ make install -Notice that _make install_ will install the Hurd in _/_, not in _/usr/local/_ or _/local/_, so your current Hurd servers will be replaced. [TODO: how to install somewhere else.] +Notice that `make install` will install the Hurd in `/`, not in `/usr/local/` +or `/local/`, so your current Hurd servers will be replaced. [TODO: how to +install somewhere else.] -By default profiling versions of all the libraries and code are generated but this is useless in most of the cases, so we disable them by specifying _--disable-profile_ on \_configure\_'s command line. +By default profiling versions of all the libraries and code are generated but +this is useless in most of the cases, so we disable them by specifying +`--disable-profile` on `configure`'s command line. -If you just want to build a specific server or library, you can pass its name to _make_: +If you just want to build a specific server or library, you can pass its name +to `make`: $ make ext2fs $ make libtrivfs -This will automatically build all libraries that are required to build the requested server or library. +This will automatically build all libraries that are required to build the +requested server or library. -### <a name="Cross_Compiling"> Cross Compiling </a> +### Cross Compiling -* [[cross-compiling]] -See <http://nic-nac-project.de/~schwinge/tmp/cross-gnu-env> and <http://nic-nac-project.de/~schwinge/tmp/cross-gnu> for now. +Read about [[cross-compiling]]. -## <a name="RPC_Ids"> </a> RPC Ids + +## RPC IDs [TODO: update / integrate somewhere.] -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: +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: $ cd build/hurd $ make hurd.msgids |