summaryrefslogtreecommitdiff
path: root/hurd/running/debian
diff options
context:
space:
mode:
Diffstat (limited to 'hurd/running/debian')
-rw-r--r--hurd/running/debian/CrossInstall.mdwn126
-rw-r--r--hurd/running/debian/DebianAptOffline.mdwn8
-rw-r--r--hurd/running/debian/MediaPressKitDiscuss.mdwn2
-rw-r--r--hurd/running/debian/after_install.mdwn7
-rw-r--r--hurd/running/debian/patch_submission.mdwn6
-rw-r--r--hurd/running/debian/porting.mdwn4
-rw-r--r--hurd/running/debian/qemu_image.mdwn17
-rw-r--r--hurd/running/debian/status.mdwn4
8 files changed, 123 insertions, 51 deletions
diff --git a/hurd/running/debian/CrossInstall.mdwn b/hurd/running/debian/CrossInstall.mdwn
index c7a099c6..0cf9e6f2 100644
--- a/hurd/running/debian/CrossInstall.mdwn
+++ b/hurd/running/debian/CrossInstall.mdwn
@@ -1,31 +1,41 @@
-## <a name="Easy_install_with_CrossHurd"> Easy install with CrossHurd </a>
+Curious about the Hurd? Have a 1-5 GiB partition free? Let's install GNU/Hurd on it!
-Qurious about the Hurd? Have a 1-5 GiB partition free? Let's install GNU/Hurd on it!
+This page covers two ways to install a Debian GNU/Hurd system from a running
+Debian GNU/Linux in a dual boot type of setup, using either
+[crosshurd](#CrossHurd) or [mmdebstrap](#mmdebstrap).
+
+For the sake of the examples in this page we will consider `/dev/hda3` as
+the partition where you want to install your Hurd system as displayed from linux.
+
+The examples here assume the installation of a `hurd-i386` system, but it is
+simple to modify for a `hurd-amd64` installation.
-### <a name="Preparing_the_partition"> Preparing the partition </a>
-We'll assume you have a partition ready, for the sake of argument we use an example here: /dev/hda3 is the Hurd partition (type: Linux) and /dev/hda4 is the Linux swap that we'll reuse.
+## <a name="CrossHurd"> CrossHurd method </a>
-First we create the Ext2 filesystem, notice the `hurd` option.
+First install the [crosshurd package](http://packages.debian.org/crosshurd).
- # mke2fs -o hurd /dev/DEVICE
+ # apt install crosshurd
+
+If you have problems it might be because the crosshurd version in the Stable
+distribution is out of date, try the version in Unstable before reporting the issue.
+
+### <a name="Preparing_the_partition"> Preparing the partition </a>
+
+We create the Ext2 filesystem for the Hurd system, notice the `hurd` option.
+
+ # mke2fs -o hurd /dev/hda3
Next we create a useful mountpoint and mount the partition.
# mkdir /gnu
# mount /dev/hda3 /gnu
-### <a name="Retrieving_CrossHurd"> Retrieving CrossHurd </a>
-
-Unless you don't run Debian GNU/Linux download it from <http://packages.debian.org/crosshurd>, or simply apt-get the package from Testing or Unstable. Avoid using the version from Stable since it probably is outdated. In case of problems, make sure to try the Unstable version before reporting the issue.
-
- # apt-get install crosshurd
### <a name="Cross_installing"> Cross installing </a>
The crosshurd package only operates in the given target directory, which is the first question asked when running the program.
- # cd /gnu
# crosshurd
Answer the questions you get: $ What is the target directory?: `/gnu` $ Target Debian system?: gnu $ Target CPU?: i386
@@ -34,41 +44,87 @@ Now the program starts retrieving all the necessary base packages.
### <a name="Preparing_to_reboot"> Preparing to reboot </a>
-When all packages have been extracted we must prepare [[GRUB]] for the Hurd when we reboot. Add the below entry to your `/boot/grub/menu.lst` file to boot the Hurd in single user mode (-s). Single user mode is needed only for the two reboots when running the Native Install.
+When all packages have been extracted we must prepare [[GRUB]] for the Hurd when we reboot.
+Add the below entry to `/etc/grub.d/40_custom` file in your linux installation.
+
+ menuentry "Debian GNU/Hurd" {
+ set root='hd0,msdos3'
+ echo 'Loading GNU Mach ...'
+ multiboot /boot/gnumach-1.8-486-up.gz root=part:3:device:wd0 noide
+ echo 'Loading the Hurd ...'
+ module /hurd/pci-arbiter.static pci-arbiter \
+ --host-priv-port='${host-port}' --device-master-port='${device-port}' \
+ --next-task='${acpi-task}' \
+ '$(pci-task=task-create)' '$(task-resume)'
+ module /hurd/acpi.static acpi \
+ --next-task='${disk-task}' \
+ '$(acpi-task=task-create)'
+ module /hurd/rumpdisk.static rumpdisk \
+ --next-task='${fs-task}' \
+ '$(disk-task=task-create)'
+ module /hurd/ext2fs.static ext2fs \
+ --multiboot-command-line='${kernel-command-line}' \
+ --exec-server-task='${exec-task}' -T typed '${root}' \
+ '$(fs-task=task-create)'
+ module /hurd/exec.static exec '$(exec-task=task-create)'
+ }
- title GNU (kernel GNUmach 1.5)
- root (hd0,2)
- kernel /boot/gnumach-1.5-486.gz root=device:hd0s3 -s
- module /hurd/ext2fs.static \
- --multiboot-command-line=${kernel-command-line} \
- --host-priv-port=${host-port} \
- --device-master-port=${device-port} \
- --exec-server-task=${exec-task} \
- -T typed ${root} $(task-create) $(task-resume)
- module /lib/ld.so.1 /hurd/exec $(exec-task=task-create)
+*Nota Bene:* In your menu file there should be no extra white space after the back slashes.
-**_Nota Bene:_** In your menu file there should be no extra white space after the back slashes.
+Following this, re-create the grub configuration file:
+
+ # update-grub
### <a name="Native_install"> Native install </a>
-Ah, reboot and select "GNU (kernel GNUmach 1.3)" from the Grub menu. At the prompt, setup TERM and run the native-install script.
+Then, reboot and select "Debian GNU/Hurd" from the Grub menu. At the prompt, setup TERM and run the native-install script.
# export TERM=mach
# ./native-install
-When done the native install requests that you reboot once again and rerun native-install.
+You should add a swap partition to `/etc/fstab`. You can share the swap
+partition between your Hurd and linux installations. If the swap partition
+was `/dev/hda4` on linux, it will be `/dev/wd0s4` on the Hurd.
- # reboot
- ...
- # export TERM=mach
- # ./native-install
+Before you reboot the system be sure to set a root password.
+
+ # passwd
+
+We can now reboot into the newly configured system.
+
+ # reboot-hurd
+
+## <a name="mmdebstrap"> mmdebstrap method </a>
+
+First we need to install the [mmdebstrap](http://packages.debian.org/mmdebstrap) and libarchive13t64 packages.
+
+ # apt install mmdebstrap libarchive13t64
+
+The way this installation method works is to run mmdebstrap in the
+[chrootless mode](https://gitlab.mister-muffin.de/josch/mmdebstrap/wiki#modes)
+from a linux host. But because misconfigured package Maintainer scripts may
+damage the host installation while running in chrootless mode, we wrap two
+mmdebstrap calls: the first creates a throw-away linux chainroot from within
+which we call mmdebstrap in chrootless mode to install our GNU/Hurd image.
-Done, continue setting up your system.
+We run the following command (we use line breaks for readability, but it is a
+single command):
-----
+ # mmdebstrap --variant=apt
+ --include=passwd,debian-ports-archive-keyring,mmdebstrap,sysvinit-core,sysv-rc,e2fsprogs,libarchive13t64
+ --customize-hook='chroot "$1"
+ mmdebstrap --mode=chrootless --arch=hurd-i386
+ --include=sysvinit-core,sysv-rc,debian-ports-archive-keyring,netdde,gnumach-image-1-486
+ --customize-hook="passwd --root=\"\$1\" --delete root"
+ --variant=apt unstable -
+ "deb http://ftp.ports.debian.org/debian-ports/ unstable main"
+ "deb http://ftp.ports.debian.org/debian-ports/ unreleased main"
+ | mkfs.ext2 -o hurd -d - /dev/hda3'
+ stable /dev/null
-Jeff Bailey has set up a system where you can install a Hurd system without having to use CDs. It's another type of cross-installation method which uses Debian package management tools to get the packages required as opposed to the one single big tarball.
+We then need to [configure the bootloader grub](#Preparing_to_reboot) in the
+same way as described in the crosshurd method above.
-As of 2005-03-22, the latest version of crosshurd is 1.7.11. It can be found at <http://packages.debian.org/crosshurd>.
+You can then reboot into the Debian GNU/Hurd system and install any further
+packages using `apt`.
--- [[Main/PeterMelville]] - 12 Jun 2004
diff --git a/hurd/running/debian/DebianAptOffline.mdwn b/hurd/running/debian/DebianAptOffline.mdwn
index 9596040d..f97e5148 100644
--- a/hurd/running/debian/DebianAptOffline.mdwn
+++ b/hurd/running/debian/DebianAptOffline.mdwn
@@ -24,11 +24,11 @@ As root on the internet connected OS:
# mount /dev/DEBIAN_GNU_HURD_PARTITON /mnt
# cd /mnt
- # apt-get -c etc/apt/apt.conf.offline {update, upgrade, install foo, etc.}
+ # apt -c etc/apt/apt.conf.offline {update, upgrade, install foo, etc.}
Then, reboot into your Debian GNU/Hurd installation and as root, run:
- # apt-get {update, upgrade, install foo, etc.}
+ # apt {update, upgrade, install foo, etc.}
## If you _cannot_ mount your Debian GNU/Hurd partition under another OS.
@@ -47,7 +47,7 @@ From the remote sytem, as any user, run:
$ cd myhurd
$ tar -xf myhurdsconf.tar
$ mkdir -p var/lib/apt/lists/partial var/cache/apt/archives/partial tmp
- $ apt-get -c etc/apt/apt.conf.offline {update, upgrade, install foo, etc.}
+ $ apt -c etc/apt/apt.conf.offline {update, upgrade, install foo, etc.}
$ tar cf myhurdsconf.tar etc/apt/{apt.conf.offline,sources.list} var/
Copy _myhurdsconf.tar_ back to your Debian GNU/Hurd system.
@@ -59,4 +59,4 @@ Finally, from your Debian GNU/Hurd installation as the root user:
# tar -xf myhurdsconf.tar
# mv var/cache/apt/archives/*.deb /var/cache/apt/archives/
# mv var/lib/apt/lists/*_* /var/lib/apt/lists/
- # apt-get {update, upgrade, install foo, etc.}
+ # apt {update, upgrade, install foo, etc.}
diff --git a/hurd/running/debian/MediaPressKitDiscuss.mdwn b/hurd/running/debian/MediaPressKitDiscuss.mdwn
index 2bd97290..05e1761a 100644
--- a/hurd/running/debian/MediaPressKitDiscuss.mdwn
+++ b/hurd/running/debian/MediaPressKitDiscuss.mdwn
@@ -71,6 +71,6 @@ I think another active process for tracking recent news (if it doesn't already e
Here are some interesting urls from [this issue](http://www.debian.org/News/weekly/2003/03/) of the Debian Weekly news:
-**Debian Presentations.** Wolfgang Borgert was [looking](http://lists.debian.org/debian-devel-0301/msg00991.html) for a set of slides on dpkg, apt-get and debconf. Javier Fern�ndez-Sanguino Pe�a [intends](http://lists.debian.org/debian-devel-0301/msg01022.html) to provide a 'presentations' section in the [Debian Documentation Project](http://cvs.debian.org/ddp/?cvsroot=debian-doc) (DDP) and has already created an [archive](http://dat.etsit.upm.es/~jfs/debian/www/ddp/slides/) of slides. Whilst the Debian web site does link to [talks](http://www.debian.org/events/talks) given by developers and some [sample slides](http://www.debian.org/events/materials/slides/), it is difficult to gather this information and publish it in a homogeneous way. Talks should be reported to <events@debianNOSPAM.org> and forwarded to him.
+**Debian Presentations.** Wolfgang Borgert was [looking](http://lists.debian.org/debian-devel-0301/msg00991.html) for a set of slides on dpkg, apt and debconf. Javier Fern�ndez-Sanguino Pe�a [intends](http://lists.debian.org/debian-devel-0301/msg01022.html) to provide a 'presentations' section in the [Debian Documentation Project](http://cvs.debian.org/ddp/?cvsroot=debian-doc) (DDP) and has already created an [archive](http://dat.etsit.upm.es/~jfs/debian/www/ddp/slides/) of slides. Whilst the Debian web site does link to [talks](http://www.debian.org/events/talks) given by developers and some [sample slides](http://www.debian.org/events/materials/slides/), it is difficult to gather this information and publish it in a homogeneous way. Talks should be reported to <events@debianNOSPAM.org> and forwarded to him.
-- [[Main/GrantBow]] - 22 Jan 2003
diff --git a/hurd/running/debian/after_install.mdwn b/hurd/running/debian/after_install.mdwn
index d3d32a6f..4c7d924a 100644
--- a/hurd/running/debian/after_install.mdwn
+++ b/hurd/running/debian/after_install.mdwn
@@ -11,7 +11,12 @@ typing a boring arcane. There are Debian-specific scripts that may help
you. See [[GRUB]]'s page for this.
-# Setup `apt-get`
+# Setup `apt
Installing packages without having a network connection is described
[[DebianAptOffline]].
+
+# Setting up mDNS responder
+
+To get `ssh <hostname>.local` working, you can set up the
+[[hurd/terrible-mdns-responder]].
diff --git a/hurd/running/debian/patch_submission.mdwn b/hurd/running/debian/patch_submission.mdwn
index d1a3ba33..e8c8aab0 100644
--- a/hurd/running/debian/patch_submission.mdwn
+++ b/hurd/running/debian/patch_submission.mdwn
@@ -18,9 +18,9 @@ package, or otherwise frequently used package, or you know upstream anyway.
If you had to change the code considerably and are not 100% sure you did not
introduce a regression, or are not very experienced with these kinds of code
-changes, you should first submit your patch for review to the [Debian alioth
-patch
-tracker](http://alioth.debian.org/tracker/?atid=410472&group_id=30628&func=browse).
+changes, you should first submit your patch for review to
+[[https://salsa.debian.org/hurd-team/hurd/|https://salsa.debian.org/hurd-team/hurd/]]. Its
+documentation is available [[here|https://wiki.debian.org/Salsa]].
If the patch is trivial, or one of the Debian porters approved your patch for
submission, submit the patch to the Debian BTS (bug tracking system). You can
diff --git a/hurd/running/debian/porting.mdwn b/hurd/running/debian/porting.mdwn
index 77519c8f..28fcb9b4 100644
--- a/hurd/running/debian/porting.mdwn
+++ b/hurd/running/debian/porting.mdwn
@@ -17,9 +17,9 @@ More than half of the Debian archive has been compiled successfully on the
Hurd, however, many programs fail to build for various reasons.
A [list of build failures including error
-messages](https://people.debian.org/~sthibault/failed_packages.txt) can be
+messages](https://people.debian.org/~sthibault/hurd-i386/failed_packages.txt) can be
found, as well as a [preliminary
-analysis](http://lists.debian.org/debian-hurd/2007/07/msg00000.html) of them and [solutions](http://lists.debian.org/debian-hurd/2007/07/msg00001.html), and some more details in [[hurd/porting/guidelines]]. [Graphs and statistics](http://people.debian.org/~sthibault/) about the consequence in terms of build dependencies are available.
+analysis](http://lists.debian.org/debian-hurd/2007/07/msg00000.html) of them and [solutions](http://lists.debian.org/debian-hurd/2007/07/msg00001.html), and some more details in [[hurd/porting/guidelines]]. [Graphs and statistics](http://people.debian.org/~sthibault/hurd-i386/) about the consequence in terms of build dependencies are available.
There is a mailing list,
[debian-hurd-build-logs](http://lists.alioth.debian.org/mailman/listinfo/debian-hurd-build-logs),
diff --git a/hurd/running/debian/qemu_image.mdwn b/hurd/running/debian/qemu_image.mdwn
index 6ae16d8b..c6da1555 100644
--- a/hurd/running/debian/qemu_image.mdwn
+++ b/hurd/running/debian/qemu_image.mdwn
@@ -22,16 +22,27 @@ Usage:
$ wget https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd.img.tar.gz
$ tar -xz < debian-hurd.img.tar.gz
- $ kvm -m 1G -drive cache=writeback,file=$(echo debian-hurd-*.img) -no-reboot -net user,hostfwd=tcp:127.0.0.1:2222-:22
+ $ kvm -m 1G -drive cache=writeback,file=$(echo debian-hurd-*.img) -no-reboot -net user,hostfwd=tcp:127.0.0.1:2222-:22 -net nic,model=e1000
-* Login as root (the root password is empty)
+* Log in as root (the root password is empty)
* Set up a root password with `passwd`
+* update the system with `apt update && apt upgrade`
+
+* Log in as demo (the demo password is empty)
+* Set up a demo password with `passwd`
+
+* You can also create another non-root user with `adduser <username>`
+* and set the non-root user password with `passwd <username>`
+* and add the non-root user to the sudo group via `gpasswd -a <user> sudo`
+
+* logout via `logout`
+
Optionally you may use `--curses` to keep your keyboard layout. If need be modprobe kvm_amd, kvm intel and kvm to get kvm support (which is much, much faster).
Note that if you do not have a command named `kvm`, you can try something across the lines of:
- $ qemu-system-i386 --enable-kvm -drive cche=writeback,file=$(echo debian-hurd-*.img) -net user,hostfwd=tcp:127.0.0.1:2222-:22
+ $ qemu-system-i386 --enable-kvm -m 2G -drive cache=writeback,file=$(echo debian-hurd-*.img) -net user,hostfwd=tcp:127.0.0.1:2222-:22 -net nic,model=e1000
Or, if your machine does not allow for KVM acceleration, omit `--enable-kvm` from the command.
diff --git a/hurd/running/debian/status.mdwn b/hurd/running/debian/status.mdwn
index 95e48edc..cf3592e7 100644
--- a/hurd/running/debian/status.mdwn
+++ b/hurd/running/debian/status.mdwn
@@ -1,4 +1,4 @@
Debian GNU/Hurd is currently an official, non-releasing Debian port. I.e., there is no testing or stable distribution.
- - [Build daemon/archive status](http://unstable.buildd.net/buildd/hurd-i386_stats)
- - [Number of registered users](http://buildd.net/cgi/archvote.phtml)
+ - [Build daemon/archive status](https://buildd.debian.org/status/architecture.php?a=hurd-i386&suite=sid)
+ - [Number of registered users](https://popcon.debian.org/stat/sub-hurd-i386.png)