summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hurd/running.mdwn5
-rw-r--r--hurd/running/chroot.mdwn54
-rw-r--r--hurd/running/debian/after_install.mdwn72
3 files changed, 59 insertions, 72 deletions
diff --git a/hurd/running.mdwn b/hurd/running.mdwn
index a96a78c4..41855433 100644
--- a/hurd/running.mdwn
+++ b/hurd/running.mdwn
@@ -1,5 +1,5 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009, 2011 Free Software Foundation,
-Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2011, 2012 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
@@ -17,6 +17,7 @@ There are several different ways to run a GNU/Hurd system:
* [[microkernel/mach/gnumach/ports/Xen]] - In Xen
* [[Live_CD]]
* [[QEMU]] - In QEMU
+* [[chroots|chroot]] need a couple of tricks to work properly.
* [[VirtualBox]] - In VirtualBox
* [[vmware]] (**non-free!**)
diff --git a/hurd/running/chroot.mdwn b/hurd/running/chroot.mdwn
new file mode 100644
index 00000000..29b00a8f
--- /dev/null
+++ b/hurd/running/chroot.mdwn
@@ -0,0 +1,54 @@
+[[!meta copyright="Copyright © 2012 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
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+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]]."]]"""]]
+
+This documents the currently-needed tricks to successfully build a
+[[glibc/chroot]] in GNU/Hurd.
+
+# Preparation
+
+For proper translator startup, the chroot storage needs to be handled by a
+separate translator, for instance:
+
+ # dd [...] < /dev/zero > storage
+ # mke2fs storage
+ # settrans -c chroot /hurd/ext2fs $PWD/storage
+
+# Unpack
+
+Debootstrap should be able to build the content:
+
+ # debootstrap sid chroot
+
+# Tricks
+
+One current issue to know about chroots is that since passive translators (e.g.
+`/servers/socket/1`) are started by the root translator, which is not aware
+of the chrooting, these passive translators are started non-chrooted, leading to
+a few issues.
+[[!tag open_issue_hurd]]
+
+## Sockets
+
+Since the passive [[translator/pflocal]] translator will not be chrooted, local
+socket creation
+will actually happen in the root filesystem. To make things work correctly the
+programs inside the chroot need to be able to access them:
+
+ # settrans chroot/servers/socket/1 /hurd/firmlink /servers/socket/1
+ # settrans chroot/tmp /hurd/firmlink /tmp
+ # settrans -c chroot/var/lib/dbus /hurd/firmlink /var/lib/dbus
+
+## Network
+
+Unless using a separate IP for the chroot, it is preferrable to share the
+[[translator/pfinet]] translator:
+
+ # settrans chroot/servers/socket/2 /hurd/firmlink /servers/socket/2
+ # settrans chroot/servers/socket/26 /hurd/firmlink /servers/socket/26
diff --git a/hurd/running/debian/after_install.mdwn b/hurd/running/debian/after_install.mdwn
index 36c37281..72ea70a9 100644
--- a/hurd/running/debian/after_install.mdwn
+++ b/hurd/running/debian/after_install.mdwn
@@ -1,35 +1,7 @@
First steps after installation.
-So you have managed to get past the first `native-install` runs in single-user
-mode?
-
-Time to get to work.
-
-[[!toc]]
-
-
-### Get Networking Running
-
-[[Network]].
-
-Check if your NIC was detected by GNU Mach:
-
- # devprobe eth0
-
-`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:
-
- # cat /dev/klog > ~/klog
- [Wait a second, then press `Ctrl-C'.]
-
-Now examine the `~/klog` file.
-
-If the NIC was detected:
-
- # settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a 192.168.1.3 -g 192.168.1.1 -m 255.255.255.0
-
-Or read about how to configure [[DHCP]].
+See <http://www.debian.org/ports/hurd/hurd-install> for configuration bits and
+tips and tricks.
# Setup GRUB
@@ -41,45 +13,5 @@ you. See [[GRUB]]'s page for this.
# Setup `apt-get`
-Sometimes getting `apt-get` to work is not straightforward. Good mirrors to
-put in `/etc/apt/sources.list` are:
-
- deb http://ftp.debian.org/debian unstable main contrib
- deb-src http://ftp.debian.org/debian unstable main contrib
- deb http://ftp.debian-ports.org/debian unreleased main
- deb-src http://ftp.debian-ports.org/debian unreleased main
-
-`apt-get` update a couple of times if some file fails to download.
-
-If when doing your first `apt-get`, `dpkg` complains of missing programs, get root in a login shell (`su -`).
-
Installing packages without having a network connection is described
[[Distrib/DebianAptOffline]].
-
-# [[translator/Random]]
-
-You often need `scp` and `ssh`. There is now a `random-egd` package available which uses
-a random translator by Ryan Hunter and the entropy gathering daemon as entropy source.
-
-See [[Translator/random]] for more information.
-
-# [[Console]]
-
-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:
-
- console -d vga -d pc_kbd --repeat=kbd -d pc_mouse --repeat=mouse \
- -d generic_speaker -c /dev/vcs
-
-
-# [[Hurd/DebianXorg]]
-
-You first must have setup the virtual console. See above.
-
-# What about package XYZ?
-
-See if you can find a useful tip in [[package_troubleshooting]].