summaryrefslogtreecommitdiff
path: root/hurd/subhurd.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'hurd/subhurd.mdwn')
-rw-r--r--hurd/subhurd.mdwn29
1 files changed, 26 insertions, 3 deletions
diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn
index a92a8d3f..5bd81425 100644
--- a/hurd/subhurd.mdwn
+++ b/hurd/subhurd.mdwn
@@ -37,11 +37,15 @@ boot it:
$ gunzip debian-hurd.img.gz
$ boot --kernel-command-line="fastboot root=pseudo-root" -T typed part:1:file:debian-hurd.img
+/!\ If you face an error from the mach-defpager (most probably
+because there is already a default pager), you can comment
+the part that says `/hurd/mach-defpager` from the `/etc/hurd/runsystem.sysv` file
+included within the `debian-hurd.img` file you are trying to use.
+
The 'fastboot' is necessary to skip the filesystem check which fails
because the image assumes the root filesystem to be /etc/hd0s1. Once
booted, you can correct this:
- root@debian:~# settrans -c /dev/pseudo-root /hurd/storeio pseudo-root
root@debian:~# echo /dev/pseudo-root / ext2 defaults 0 1 >/etc/fstab
root@debian:~# halt
@@ -77,9 +81,17 @@ debootstrap as root:
mke2fs /dev/hd0s6
settrans -ca mnt /hurd/ext2fs /dev/hd0s6
- debootstrap sid mnt/ http://httpredir.debian.org/debian
+ debootstrap --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg --extra-suites=unreleased sid chroot http://deb.debian.org/debian-ports/
+ chroot mnt passwd
settrans -fga mnt
+## Using mmdebstrap
+
+One can also use mmdebstrap:
+
+ mmdebstrap --mode=chrootless --variant=required --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg '' rootfs.tar.gz 'deb http://deb.debian.org/debian-ports unreleased main' 'deb http://deb.debian.org/debian-ports/ unstable main'
+ mke2fs /dev/hd0s6 -d rootfs.tar.gz
+
## Booting
If you are using a recent version of the Hurd (>= 0.9), then you can
@@ -134,7 +146,7 @@ In the subhurd, you can do basically all the same things as in the main Hurd.
You can even set up networking: Just invoke `settrans` on the
`/servers/socket/2` as usual inside the subhurd, using `/dev/eth0`, only using a different local
IP than in the main Hurd. This way, the subhurd will be able to communicate to
-the outside world with its own IP -- allowing for example to do `apt-get`
+the outside world with its own IP -- allowing for example to do `apt
inside the subhurd, or to `ssh` directly into the subhurd.
If you want to access the subhurd processes from the outside, e.g. for
@@ -147,6 +159,17 @@ numbers are different, the order should usually match. Often it also helps to
look at the number of threads (e.g. using `ps -l`), as many servers have very
characteristic thread counts.
+## Faster boot
+
+If you do not need daemons etc. you can just run a shell, similary to a chroot:
+
+ boot /dev/hd0s6 -c init=/bin/bash
+
+Unless you change the boot script to pass `--writable` to ext2fs, you will want to remount / read-write:
+
+ fsysopts / --writable
+
+And `poweroff-hurd` should be used to stop the subhurd.
### IRC, freenode, #hurd, 2013-08-09