summaryrefslogtreecommitdiff
path: root/hurd/running/debian/faq.mdwn
blob: 1892d63f545a5d8e073b5574ef02c2e5f9146f55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
Debian GNU/Hurd FAQ.

See also the [[Hurd_FAQ|hurd/FAQ]] and [[after_install]].

[[toc ]]


# `df`

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.


# `sshd`

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


# `/dev/random`

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`.


# Hurd Console

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


# Swap


# 2 GiB Partition Limit

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


# Free Memory

Run `vmstat` to see memory and swap usage.


# Translators


# 512 MiB RAM Limit

GNU Mach does not cope well with lots of memory.  Newer versions of the Debian
`gnumach` package will limit themselves to around 1 GiB 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.


# `xserver-common`

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


# Reporting Bugs

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&group\_id=30628&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>


# `ps` Hangs

If `ps` hangs, try `ps -M` which might still work.


# Porting Packages


# Debugging inside glibc

To get [[debugging]] information for glibc, you need to install the
`libc0.3-dbg` package.  At the place [[debugging/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.


# Debugging Translators

In order to [[debug|debugging]] 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 [[debugging/GDB]] to the process.

Is starting the translator like this really needed?


# Other Repositories

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.


# Kernel Logs

The kernel logs are written to `/dev/klog`.  Run `cat /dev/klog > 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).


# `bad hypermeta data`

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.