-## <a name="How_to_setup_networking_in_the_H"> How to setup networking in the Hurd </a>

-

-First, make sure that Mach recognizes your hardware. If it doesn't, you have to recompile it in most cases. [ADD LINK TO INFO ON THIS]

-

-### <a name="The_PFINET_translator"> </a> The PFINET translator

-

-To configure the network, the `pfinet` (Protocol Family Internet) translator must be configured. This is done using the `settrans` command to attach a translator to a given file system node. When programs access the node by, for example, sending an RPC, the Hurd will transparently start the server to handle the request.

-

- # settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 \

- -a 192.168.0.50 -g 192.168.0.1 -m 255.255.255.0

-

-Here, `settrans` is passed several options:

-

-* `fg`, force any existing translator to go away.

-* `ap`, make both active and passive translators.

-

-The active translator means that the operating system both starts the translator immediately and passinve means that the settings are saved in the file system node. The former also means that any error messages are sent to `stderr`.

-

-The argument `/server/socket/2` is the node that the translator is to be attached to. This is followed by the translator program to run and any arguments to give it.

-**NOTE**: _If you are using the Debian distribution of Hurd, you also **want** to read_ **_[[Distrib/DebianAfterInstall]]_**

+**NOTE**: _If you are using the Debian distribution of Hurd, you also **want** to read_ **_Debian [[running/debian/after_install]]_**

* After you install, you'll want to do several _important_ things:

* Run `passwd` to give the root user a password. By default, root does not have one.

@@ -201,7 +201,7 @@ To mount this from a GNU box:

* Since the Hurd does not use `ld.so.conf`, you will want to specify where the X Window System keeps its libraries. Do this by adding the following line to your `/etc/profile`: <br />`export LD_LIBRARY_PATH='/lib:/usr/X11R6/lib'`

* run `/etc/cron.daily/find` to allow `locate` to function.

-* [[GetNetworkRunning]]

+* [[Network]]

* Hopefully Mach will recognize your hardware. If it doesn't you have to recompile in most cases.

-See the attached [[ATTACHURLmboxbz2]] containing all the emails concerning this topic which I was able to gather from public archives.

-

-## <a name="Description"> Description </a>

-

-Sources of entropy are for example disk access latencies or keystroke patterns or behavior on networks. This suggests that for implementing a random translator a kernel part is needed as well, to gather that entropy. That kernel part would then export the gathered entropy via a kernel device, named perhaps _entropy_. TODO.

- * [The files](http://download.ibofobi.dk/hurd-entropy/), including a [patch for GNU Mach](http://download.ibofobi.dk/hurd-entropy/gnumach-entropy.diff.bz2).

-

-----

-

-## <a name="Setup_tips"> Setup tips </a>

-

-Here are some tips on how to actually setup the two random devices using Kilobugs' [random-64 server](http://kilobug.free.fr/hurd/random-64.tar.gz). His tarball is a complete Hurd server including a pre-built binary - so you don't need GCC or magic fingers for this! :)

-

-After untaring the package you copy the random binary to the /hurd directory. Then you setup the translators for random and urandom.

@@ -8,7 +8,7 @@ This is a brief helper on how to setup X-Window on GNU.

### <a name="Mouse_amp_Keyboard"> Mouse &amp; Keyboard </a>

-See [[HurdConsole]] for more details.

+See [[console]] for more details.

First, set up the keyboard translator. Using `/hurd/kbd` and `/hurd/mouse` is not supported. You should instruct Hurd console to repeat keyboard events to `/dev/cons/kbd`, and mouse events to `/dev/cons/mouse`:

@@ -13,7 +13,7 @@ If you still have problems, do not hesitate to make use of the [[MailingLists]]

* **_Where are the virtual consoles I use when running GNU/Linux?_**

* You need to [use screen](http://www.gnu.org/software/hurd/faq.en.html#q4-6) instead, also available when running GNU/Linux.

- * The [new console](http://lists.debian.org/debian-hurd/2002/debian-hurd-200209/msg00054.html) by Marcus Brinkmann could also be used. It supports the Alt-Fn keys for switching like in GNU/Linux. NOTE: that message has an error in the configuration steps, it says `/dev/vts` when it means `/dev/vcs`. A more up-to-date howto is [[HurdConsole]].

+ * The [new console](http://lists.debian.org/debian-hurd/2002/debian-hurd-200209/msg00054.html) by Marcus Brinkmann could also be used. It supports the Alt-Fn keys for switching like in GNU/Linux. NOTE: that message has an error in the configuration steps, it says `/dev/vts` when it means `/dev/vcs`. A more up-to-date howto is [[console]].

* **_What is a translator?_**

* The official FAQ [answers](http://www.gnu.org/software/hurd/faq.en.html#q4-2) this question by a reference to [hurd-doc-translator](http://www.debian.org/ports/hurd/hurd-doc-translator).

-_devprobe_ (run as user _root_) will print _eth0_ on successful detection. If it doesn't, your NIC was not detected correctly. You can then try to do the following (also as user _root_) for getting details:

-The latest Hurd package in Debian, plus the /native-install script, creates all necessary device nodes and other magic. You just need to edit /etc/default/hurd-console to tune the parameters and tell it to start at bootup.

-

-You can also call the Hurd console manually with the proper arguments:

-There is no /etc/mtab, so just running \`df' will yield an error. Pass df a path like \`df /' or \`df .' to see the disk usage of that particular file system.

-

-## <a name="sshd"> sshd </a>

-

-You need to disable [[PriviledgeSeperation]] in /etc/ssh/sshd\_options. Also make sure you have /dev/random, see below.

-

-## <a name="_dev_random"> /dev/random </a>

-

-There is no random device by default as no secure implementation has been finished yet. An easy (but very insecure) work-around is to copy a binary file like \`/bin/bash' to /dev/random and /dev/urandom.

-

-## <a name="Hurd_console"> Hurd console </a>

-

-Edit /etc/default/hurd-console to configure the Hurd console and enable it on bootup. See [[Hurd/HurdConsole]] for further information about the Hurd console.

-

-## <a name="swap"> swap </a>

-

-## <a name="2GB_partition_limit"> 2GB partition limit </a>

-

-The 2GB limit has been removed in Debian GNU/Hurd.

-

-## <a name="Free_memory"> Free memory </a>

-

-Run \`vmstat' to see memory and swap usage.

-

-## <a name="translators"> translators </a>

-

-## <a name="512MB_RAM_limit"> </a> 512MB RAM limit

-

-GNU Mach does not cope well with lots of memory. Newer versions of the Debian gnumach package will limit themselves to around 1GB of memory. If you have an older version, or still experience problems with vmstat (see above) reported much less memory than you have, the best is to limit the memory it can see via GRUB's upppermem feature. Add \`uppermem 786432' to GRUB's Hurd entry in menu.lst

-

-This should be fixed.

-

-## <a name="xserver_common"> xserver-common </a>

-

-You need to run \`dpkg-reconfigure xserver-common' and select \`Anybody' for starting X as there is no way to detect console users currently.

-

-## <a name="reporting_Bugs"> reporting Bugs </a>

-

-Please try to reproduce bugs which are not obviously Hurd-specific on Debian GNU/Linux and then file them there.

-

-If you find a genuine issue in Debian GNU/Hurd, please file it in our Alioth bug tracker at [http://alioth.debian.org/tracker/?atid=411594&amp;group\_id=30628&amp;func=browse](http://alioth.debian.org/tracker/?atid=411594&group_id=30628&func=browse) If you find a bug in the Hurd or GNU Mach themselves, either file a bug against the respective Debian packages, or directly at <http://savannah.gnu.org/bugs/?group=hurd>

-

-## <a name="ps_hangs"> ps hangs </a>

-

-If \`ps' hangs, try \`ps -M' which might still works.

-

-## <a name="porting_packages"> porting packages </a>

-

-## <a name="debugging_glibc"> debugging glibc </a>

-

-To get debugging information for glibc, you need to install the libc0.3-dbg package. At the place gdb looks for debugging symbols by default (/usr/lib/debug/lib/), Debian's libc0.3-dbg stores only frame unwind information. If you want to step into glibc while debugging, you need to add LD\_LIBRARY\_PATH=/usr/lib/debug to gdb's environment. If that still does not work, try LD\_PRELOAD=/usr/lib/debug/libc.so.0.3 instead. You can add to gdb's environment via "set env FOO bar" from the gdb command line.

-

-It seems that this is no longer needed with the Debian glibc 2.5 packages, but I may as well be wrong. Have to check that again.

-

-## <a name="debugging_translators"> debugging translators </a>

-

-In order to debug translators and being able to step into glibc during it, you need the hurd-dbg and libc0.3-dbg packages installed. Then start the translator like settrans -P /foo /usr/bin/env LD\_LIBRARY\_PATH=/usr/lib/debug /hurd/foofs". The -P option will make it pause and you will be able to attach gdb to the process.

-

-Is starting the translator like this really needed?

-

-## <a name="other_repositories"> other repositories </a>

-

-If you want to use the _apt-get source_ facility, make sure that _/etc/apt/sources.list_ contains a line like

-

- deb-src http://ftp.de.debian.org/debian unstable main

-

-... replacing _de_ with your homeland's code.

-

-## <a name="kernel_logs"> kernel logs </a>

-

-The kernel logs are written to /dev/klog by Mach. Run "cat /dev/klog &gt; foo" as root and hit ctrl+c after a few seconds to catch the logs. You can do this only once and do not do this in single-user mode (where ctrl+c does not work).

-

-## <a name="_bad_hypermeta_data_"> \`bad hypermeta data' </a>

-

-If you get the error \`bad hypermeta data' when trying to mount an ext3 partition from GNU/Linux, that is usually because the file system has not been unmounted cleanly (maybe GNU/Linux got suspended to disk) and the Hurd cannot mount it as ext2 without checking. Either boot back into GNU/Linux and unmount it or you can try to run "fsck.ext3" from GNU/Hurd directly.

@@ -50,11 +50,15 @@ Another installation method is using an emulated environment. The [[BochsEmulato

<dd> Work has been started by James Morrison and Glenn <nop>McGrath to [[PortDebootstrap]]. There is also a [[NewDebianInstaller]]. Why should Hurd folks care? It's important because this is the next generation installer that is intended to be used by all ports when Sarge is released. </nop></dd>

</dl>

+

# Using

-[[DebianAfterInstall]] instructions are a must-read to prepare an usable system.

+Debian [[debian/after_install]] instructions are a must-read to prepare an