summaryrefslogtreecommitdiff
path: root/hurd
diff options
context:
space:
mode:
Diffstat (limited to 'hurd')
-rw-r--r--hurd/documentation.mdwn23
-rw-r--r--hurd/libfuse.mdwn2
-rw-r--r--hurd/networking.mdwn17
-rw-r--r--hurd/porting/guidelines.mdwn8
-rw-r--r--hurd/running.mdwn1
-rw-r--r--hurd/running/chroot.mdwn4
-rw-r--r--hurd/running/debian/dhcp.mdwn18
-rw-r--r--hurd/running/nix.mdwn2
-rw-r--r--hurd/running/qemu/networking.mdwn2
-rw-r--r--hurd/translator/pfinet/ipv6.mdwn8
10 files changed, 50 insertions, 35 deletions
diff --git a/hurd/documentation.mdwn b/hurd/documentation.mdwn
index ec19e90b..944b5c98 100644
--- a/hurd/documentation.mdwn
+++ b/hurd/documentation.mdwn
@@ -1,5 +1,5 @@
[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-2009, 2011, 2012 Free Software Foundation, Inc."]]
+2009, 2011, 2012, 2015 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
@@ -20,9 +20,24 @@ is included in the section entitled
* [[*The_Hurd_and_Linux*|/hurd-and-linux]], a comment by Richard Stallman.
* [[*Towards_a_New_Strategy_of_OS_Design*|/hurd-paper]], an architectural
- overview by Thomas Bushnell, BSG.
-
- * [[*The_Hurd*|/hurd-talk]], a presentation by Marcus Brinkmann.
+ overview by Thomas Bushnell, BSG, notably:
+
+ * [[The design|/hurd-paper#design]]
+ * [[Translators|/hurd-paper#translator]]
+ * [[The auth translator|/hurd-paper#auth]]
+ * [[The proc translator|/hurd-paper#proc]]
+ * [[The exec translator|/hurd-paper#exec]]
+ * [[The ftpfs translator|/hurd-paper#ftpfs]]
+
+ * [[*The_Hurd*|/hurd-talk]], a presentation by Marcus Brinkmann, notably:
+
+ * [[How to get a port?|/hurd-talk#how]]
+ * [[Pathname resolution example|/hurd-talk#pat]]
+ * [[Mapping the POSIX Interface|/hurd-talk#map]]
+ * [[Active vs Passive|/hurd-talk#act]]
+ * [[Authentication|/hurd-talk#aut]]
+ * [[Password Server|/hurd-talk#pas]]
+ * [[Process Server|/hurd-talk#pro]]
* The *[[translator_primer]]*.
diff --git a/hurd/libfuse.mdwn b/hurd/libfuse.mdwn
index 28125dd9..0c76645a 100644
--- a/hurd/libfuse.mdwn
+++ b/hurd/libfuse.mdwn
@@ -25,7 +25,7 @@ etc.
* lowlevel API not implemented
* Options handling (`fuse_parse_cmdline` and `fuse_opt_*`) not implemented
* CUSE lowlevel not supported (compatibility level 29)
-* Supports up to the compatibility level 25 (while current libfuse 2.9.x provides 26)
+* Supports the compatibility level 25 and 26, up to libfuse 2.6.x
* File I/O is quite slow.
diff --git a/hurd/networking.mdwn b/hurd/networking.mdwn
index bdf9def2..2f13813a 100644
--- a/hurd/networking.mdwn
+++ b/hurd/networking.mdwn
@@ -9,11 +9,18 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
-For each supported `PF_*` protocol family, there is a file `/servers/socket/N`
-where `N` is the numberic value fo the `PF_*` symbol. Right now
-[[`PF_LOCAL`|translator/pflocal]] (a.k.a. `PF_UNIX`) and
-[[`PF_INET`|translator/pfinet]] (together with
-[[`PF_INET6`|translator/pfinet/ipv6]]) are supported.
+For each supported `PF_*` protocol family (domain), there is a file `/servers/socket/N`
+where `N` is the numeric value for the `PF_*` symbol. libc's `socket()`,
+`socketpair()` and friends use `_hurd_socket_server` to open them: the latter
+computes the `/servers/socket/N` path, then opens it with `__file_name_lookup`,
+and returns the result. Since those paths are translated (see showtrans on
+`/servers/socket/N`), it's a port to a translator which is returned. Right now
+[[`PF_LOCAL`|translator/pflocal]] (a.k.a. `PF_UNIX` or `AF_UNIX`) `N=1`,
+[[`PF_INET`|translator/pfinet]] (a.k.a `AF_INET`) `N=2` and
+[[`PF_INET6`|translator/pfinet/ipv6]] (a.k.a `AF_INET6`) `N=26` are supported.
+
+In case of problems to find out which server is called rpctrace can be of use:
+search for the output `dir_lookup ("servers/socket/N" ...)`
User programs open those files, and use the `socket_create` [[RPC]] to make a
new socket. With that socket, they can use the other `socket_*` RPCs and also
diff --git a/hurd/porting/guidelines.mdwn b/hurd/porting/guidelines.mdwn
index c4c864f7..66c6ae28 100644
--- a/hurd/porting/guidelines.mdwn
+++ b/hurd/porting/guidelines.mdwn
@@ -305,7 +305,13 @@ We could easily provide it;
## <a name="PTHREAD_STACK_MIN"> `PTHREAD_STACK_MIN` </a>
-We should actually provide it.
+We don't really have a minimum value. We could define it to 4096 (or ~16, which
+is our actual minimum), but most applications making use of `PTHREAD_STACK_MIN`
+would just crash with such a value.
+
+The application knows way better than the OS which stack size it needs and have
+its own hint about the stack size, and thus use `PTHREAD_STACK_MIN` only as a
+minimum, not as a hint.
## <a name="types"> `linux/types.h` or `asm/types.h` </a>
diff --git a/hurd/running.mdwn b/hurd/running.mdwn
index b3caf21a..7653b387 100644
--- a/hurd/running.mdwn
+++ b/hurd/running.mdwn
@@ -20,6 +20,7 @@ There are several different ways to run a GNU/Hurd system:
* [[cloud]] - In the "cloud": OpenStack
* [[chroots|chroot]] need a couple of tricks to work properly.
* [[VirtualBox]] - In VirtualBox
+* [[https://github.com/bbesim/vagrant_GNU-debian-hurd_basebox]] - On Vagrant
* [[vmware]] (**non-free!**)
* [[FAQ]]
diff --git a/hurd/running/chroot.mdwn b/hurd/running/chroot.mdwn
index 38bab04e..699f05a1 100644
--- a/hurd/running/chroot.mdwn
+++ b/hurd/running/chroot.mdwn
@@ -13,8 +13,7 @@ This documents the currently-needed tricks to successfully build a
# Preparation
-For proper translator startup, the chroot storage needs to be handled by a
-separate translator, for instance:
+It can be a good idea to put the chroot on a separate translator, for instance:
# dd [...] < /dev/zero > storage
# mke2fs storage
@@ -45,3 +44,4 @@ programs inside the chroot need to be able to access them:
# settrans -kp chroot/dev /hurd/firmlink /dev
# settrans chroot/tmp /hurd/firmlink /tmp
# settrans -c chroot/var/lib/dbus /hurd/firmlink /var/lib/dbus
+ # settrans -c chroot/run/dbus /hurd/firmlink /run/dbus
diff --git a/hurd/running/debian/dhcp.mdwn b/hurd/running/debian/dhcp.mdwn
index 8846769a..aa9adfd9 100644
--- a/hurd/running/debian/dhcp.mdwn
+++ b/hurd/running/debian/dhcp.mdwn
@@ -1,5 +1,5 @@
-[[!meta copyright="Copyright © 2011, 2012, 2013, 2014 Free Software Foundation,
-Inc."]]
+[[!meta copyright="Copyright © 2011, 2012, 2013, 2014, 2015 Free Software
+Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
@@ -11,20 +11,6 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_porting]]
-In order to use DHCP, you need to install the `ifupdown` and `isc-dhcp-client`
-packages, and manually create the following symbolic link:
-
- # ln -s ../rcS.d/S10networking /etc/rc.boot/
-
-During execution at boot time, the `S10networking` script will emit some error
-messages while trying to configure the loopback interface. These are not
-fatal.
-
-Debian GNU/Hurd doesn't currently execute Debian standard `/etc/rcS.d/*` boot
-scripts, but has its own `/libexec/rc` script -- which integrates scripts from
-`/etc/rc.boot/` instead.
-
-
# Open Issues
* [[!debbug 616290]]
diff --git a/hurd/running/nix.mdwn b/hurd/running/nix.mdwn
index 68052948..b77404a4 100644
--- a/hurd/running/nix.mdwn
+++ b/hurd/running/nix.mdwn
@@ -47,7 +47,7 @@ Nix, and because of that, it uses per-package installation directories under
Guix
-# <a href="guix">Guix</a>
+# <a name="guix">Guix</a>
## <http://www.gnu.org/software/guix/>
diff --git a/hurd/running/qemu/networking.mdwn b/hurd/running/qemu/networking.mdwn
index d20b84b1..0c8e0ae8 100644
--- a/hurd/running/qemu/networking.mdwn
+++ b/hurd/running/qemu/networking.mdwn
@@ -21,7 +21,7 @@ Netmask is 255.255.255.0
You can setup the pfinet translator with the command
- $ settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
+ $ settrans -fgap /servers/socket/2 /hurd/pfinet -i /dev/eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
Configure nameserver in /etc/resolve.conf
diff --git a/hurd/translator/pfinet/ipv6.mdwn b/hurd/translator/pfinet/ipv6.mdwn
index 81826e00..ccb359cb 100644
--- a/hurd/translator/pfinet/ipv6.mdwn
+++ b/hurd/translator/pfinet/ipv6.mdwn
@@ -35,20 +35,20 @@ IPv6 address shall be assigned using IPv6 auto-configuration.
settrans -fgp /servers/socket/2 ↩
/hurd/pfinet -6 /servers/socket/26 ↩
- -i eth0 -a 192.168.7.23 -m 255.255.255.0 -g 192.168.7.1
+ -i /dev/eth0 -a 192.168.7.23 -m 255.255.255.0 -g 192.168.7.1
settrans -fgp /servers/socket/26 ↩
/hurd/pfinet -4 /servers/socket/2 ↩
- -i eth0 -a 192.168.7.23 -m 255.255.255.0 -g 192.168.7.1
+ -i /dev/eth0 -a 192.168.7.23 -m 255.255.255.0 -g 192.168.7.1
Quite the same, but with static IPv6 address assignment:
settrans -fgp /servers/socket/2 ↩
/hurd/pfinet -6 /servers/socket/26 ↩
- -i eth0 -a 192.168.7.23 -m 255.255.255.0 -g 192.168.7.1 ↩
+ -i /dev/eth0 -a 192.168.7.23 -m 255.255.255.0 -g 192.168.7.1 ↩
-A 2001:4b88:10e4:0:216:3eff:feff:4223/64 -G 2001:4b88:10e4::1
settrans -fgp /servers/socket/26 ↩
/hurd/pfinet -4 /servers/socket/2 ↩
- -i eth0 -a 192.168.7.23 -m 255.255.255.0 -g 192.168.7.1 ↩
+ -i /dev/eth0 -a 192.168.7.23 -m 255.255.255.0 -g 192.168.7.1 ↩
-A 2001:4b88:10e4:0:216:3eff:feff:4223/64 -G 2001:4b88:10e4::1