From 4af730c6f647548a0b3f825d3c18efc1f08e1759 Mon Sep 17 00:00:00 2001 From: JPMalhado Date: Thu, 4 Dec 2025 23:55:44 +0100 Subject: More detail about installation on hardware. Cleanup some obsolete information. --- hurd/running/debian.mdwn | 72 ++++++------------------------------------------ 1 file changed, 8 insertions(+), 64 deletions(-) diff --git a/hurd/running/debian.mdwn b/hurd/running/debian.mdwn index 0772c48e..74586878 100644 --- a/hurd/running/debian.mdwn +++ b/hurd/running/debian.mdwn @@ -5,7 +5,7 @@ Debian GNU/Hurd is an effort to port the Debian distribution to the Hurd. Around -One noteable difference in this port, is that `/etc/mtab` -> `/proc/mounts` +One notable difference in this port, is that `/etc/mtab` -> `/proc/mounts` --- # QEMU Image @@ -13,9 +13,12 @@ One noteable difference in this port, is that `/etc/mtab` -> `/proc/mounts` --- # Installing -- [Installation Instructions](http://www.debian.org/ports/hurd/hurd-install) - - [Upgrading K11 or K14 based systems to unstable](http://lists.debian.org/debian-hurd/2007/09/msg00007.html) -- [[After_install]] — Do this to get networking, new console and X +The Debian installer runs natively on the Hurd and it is possible to install a Debian GNU/Hurd system booting it from an IDE or SATA CD-ROM drive or from a USB stick. See +[installation instructions](http://www.debian.org/ports/hurd/hurd-install) for details and post-installation configuration. + +--- +# CrossInstall +It is possible to install a Debian GNU/Hurd system on a spare partition from an existing Debian GNU/Linux installation. We call this [[CrossInstall]]. --- # Contributing @@ -23,68 +26,9 @@ One noteable difference in this port, is that `/etc/mtab` -> `/proc/mounts` * [[Patch_submission]] — How to submit patches for build failures - [[Creating_image_tarball]] -### IRC, freenode, #hurd, 2014-02-12 - - hm, there is something weird - after successfully installing (with the new installer cd), and rebooting, system init fails because fsck can't be run on /home (a separate partition) - it can't fsck because at that point, /home is already mounted, and indeed the translator is running - teythoon: any idea what might cause that ? - me ? - no - ok - ah no, actually /home isn't mounted oO - but fsck still refuses to check it, stating that reason - hm, /etc/mtab isn't a link to /proc/mounts here, might explain - - -### IRC, freenode, #hurd, 2014-02-12 - - yes, better with a proper symlink :) - good - Mmm, what is supposed to create that symlink? - one debian init script did that at one time - i believe they dropped that - err, but something must be creating it for newer systems - good point - well, except for these small details, everything went pretty smooth - both on ide and ahci - it seems /etc/mtab gets created at boot - (on Linux I mean) - youpi: i cannot find the init script, but i'm sure that it was there - I can't find it either on the installed system... - maybe pere or rleigh in #debian-hurd can help - - -### IRC, freenode, #hurd, 2014-02-13 - - 6<--60(pid1698)->dir_lookup ("var/run/mtab" 4194305 0) = 0 3 "/run/mtab" (null) - looks like /etc/mtab isn't actually used anymore - it never was on hurd - braunr: well it is generated i believe from mounted filesystems - if its still around there is a reason for it, like posix compatiblity perhaps? - well the problem is that, as mentioned in pere's thread on bug-hurd, some tools now expect /var/run/mtab instead of /etc/mtab - and since nothing currently creates this file, these tools, such as df, are lost - they can't find the info they're looking for - - -### IRC, freenode, #hurd, 2014-02-17 - - i still don't have mtab at the proper location on darnassus - is there something missing with sysvinit on hurd? - is that normal ? - yes. I recommended fixing it in the hurd package. (BTS #737759) - yes i saw but was there any action taken ? - did not check - i thought youpi mentioned that it is fixed in the libc and we just need to rebuild coreutils or something - yes - oh ok - but doesn't that mean it will use /etc/mtab ? - if I was a hurd porter, I would fix it in hurd while waiting for a fix in coreutils, just to save people for wondering about the breakage, but I am not the most patient of developers. :) - --- -# Externel +# Other links * Official page about the Debian GNU/Hurd port: [Debian GNU/Hurd](http://www.debian.org/ports/hurd/) * Debian [[FAQ]] — Frequently Asked Questions -* [Presentation](http://people.debian.org/~mbanck/talks/hurd_lt2004/html/) -Debian GNU/Hurd*, [[MichaelBanck]], LinuxTag 2004 Karlsruhe * [Archive Qualification](http://wiki.debian.org/ArchiveQualification/hurd-i386) * [[!wikipedia Debian_GNU/Hurd]] on Wikipedia -- cgit v1.2.3 From 55b7bbfa0b95b45c03a6745e1e1676a33b89883c Mon Sep 17 00:00:00 2001 From: JPMalhado Date: Sat, 6 Dec 2025 12:09:44 +0100 Subject: Mention RAM requirements of rumpdisk and possible workaround. --- hurd/running/debian.mdwn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hurd/running/debian.mdwn b/hurd/running/debian.mdwn index 74586878..d3e60424 100644 --- a/hurd/running/debian.mdwn +++ b/hurd/running/debian.mdwn @@ -16,8 +16,10 @@ One notable difference in this port, is that `/etc/mtab` -> `/proc/mounts` The Debian installer runs natively on the Hurd and it is possible to install a Debian GNU/Hurd system booting it from an IDE or SATA CD-ROM drive or from a USB stick. See [installation instructions](http://www.debian.org/ports/hurd/hurd-install) for details and post-installation configuration. +As of late 2025 installation may require larger amount of RAM (≥ 2 Gi) due to [[hurd/rump/rumpdisk]] memory requirements. It is possible to install 32 bit Hurd (`hurd-i386`) on lower RAM conditions (~ 500 Mi) using the [CrossInstall](#crossinstall) method, by not loading rumpdisk and using disk drivers in gnumach. + --- -# CrossInstall +# CrossInstall It is possible to install a Debian GNU/Hurd system on a spare partition from an existing Debian GNU/Linux installation. We call this [[CrossInstall]]. --- -- cgit v1.2.3 From 948d852acefa118df44ea9532d16af508ab40038 Mon Sep 17 00:00:00 2001 From: JPMalhado Date: Tue, 16 Dec 2025 10:12:29 +0100 Subject: Describe how to add swap when using the mmdebstrap method. --- hurd/running/debian/CrossInstall.mdwn | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/hurd/running/debian/CrossInstall.mdwn b/hurd/running/debian/CrossInstall.mdwn index 0cf9e6f2..675d9992 100644 --- a/hurd/running/debian/CrossInstall.mdwn +++ b/hurd/running/debian/CrossInstall.mdwn @@ -22,11 +22,11 @@ distribution is out of date, try the version in Unstable before reporting the is ### Preparing the partition -We create the Ext2 filesystem for the Hurd system, notice the `hurd` option. +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. +Next create a useful mountpoint and mount the partition. # mkdir /gnu # mount /dev/hda3 /gnu @@ -125,6 +125,15 @@ single command): We then need to [configure the bootloader grub](#Preparing_to_reboot) in the same way as described in the crosshurd method above. -You can then reboot into the Debian GNU/Hurd system and install any further -packages using `apt`. +We can then reboot into the Debian GNU/Hurd system. If we check the `/etc/fstab` +file we will note that the system boots even without specifying a root mountpoint. +At the moment there is no swap partition defined either, and it is a good idea to +edit `/etc/fstab` to add both root and swap partitions. We can share the swap +partition between Hurd and linux installations. If the swap partition +was `/dev/hda4` on linux, it will be `/dev/wd0s4` on the Hurd. To activate swap +without rebooting we use the command + + # swapon /dev/wd0s4 + +Any other packages can now be installed using `apt`. -- cgit v1.2.3 From 5cae940a219cd843121616dccc339a51e3e6ee0f Mon Sep 17 00:00:00 2001 From: rrq Date: Sun, 21 Dec 2025 10:22:54 +0100 Subject: --- hurd/translator/nfs.mdwn | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/hurd/translator/nfs.mdwn b/hurd/translator/nfs.mdwn index ee960c04..d4310c42 100644 --- a/hurd/translator/nfs.mdwn +++ b/hurd/translator/nfs.mdwn @@ -15,6 +15,31 @@ Only NFSv2/v3 is currently supported. [[!tag open_issue_hurd]]There are a few unmerged changes on a former GSoC project's topic-branch. +#### A setup example (2025-12-21), Linux server + +This example has the **NFS server on a Linux system** +and the **NFS client on a GNU hurd-amd64 system**. +Specifically, the Linux system is a *Devuan 5 (daedalus)*, which thus corresponds to *Debian 12 (bookworm)* with the *nfs-kernel-server* package version *1:2.6.2-4+deb12u1*; +the hurd-amd64 is from the *debian port snapshot dated 2025-08-07*, +and running in a QEMU VM on the server host. + +It all ran OOTB with only two specific configuration changes: + +1. The configuration file **/etc/default/nfs-kernel-server** is changed by adding **"-u"** for the NFSD startup variable RPCNFSDCOUNT, so as to enable UDP for the NFS server (it is disabled by default). The configuration line will thus read: + + **RPCNFSDCOUNT="-u 8"** + + The nfs-kernel-server needs to be restarted following the configuration change. + + Also, the export configuration file, **/etc/exports**, needs to be set up to nominate path(s) to export and which clients are allowed to use them. (See "man exports" on the Linux system for its details) + +2. The **/hurd/nfs translator** is started with argument **"--nfs-program=3"** so as to make it use NFSv3 (the default is NFSv2). The startup command used thus has the following form: + + **settrans $MOUNTPOINT /hurd/nfs -s --nfs-program=3 $EXPORTPATH $SERVERHOST** + + where $MOUNTPOINT is a local existing pathname, e.g. */nfs*, $EXPORTPATH is the exported path on the server, e.g. */home/rrq/shared*, and $SERVERHOST is the server hostname or IP address, e.g. *172.18.46.1*. + + Note that the *"-s"* argument is an optional author's choice, to let the **nfs** translator exit if it fails to connect on the first 3 attempts. Its default, without "-s", is to keep trying. # See Also -- cgit v1.2.3 From 16c669bfae68a3e11cae6673646a20a62347b4c6 Mon Sep 17 00:00:00 2001 From: rrq Date: Sun, 21 Dec 2025 10:30:39 +0100 Subject: --- hurd/translator/nfs.mdwn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hurd/translator/nfs.mdwn b/hurd/translator/nfs.mdwn index d4310c42..ff157f8e 100644 --- a/hurd/translator/nfs.mdwn +++ b/hurd/translator/nfs.mdwn @@ -35,9 +35,9 @@ It all ran OOTB with only two specific configuration changes: 2. The **/hurd/nfs translator** is started with argument **"--nfs-program=3"** so as to make it use NFSv3 (the default is NFSv2). The startup command used thus has the following form: - **settrans $MOUNTPOINT /hurd/nfs -s --nfs-program=3 $EXPORTPATH $SERVERHOST** + **settrans $LOCAL /hurd/nfs -s --nfs-program=3 $REMOTE $SERVER** - where $MOUNTPOINT is a local existing pathname, e.g. */nfs*, $EXPORTPATH is the exported path on the server, e.g. */home/rrq/shared*, and $SERVERHOST is the server hostname or IP address, e.g. *172.18.46.1*. + where $LOCAL is a local existing pathname, e.g. */nfs*, $REMOTE is the exported path on the server, e.g. */home/rrq/shared*, and $SERVER is the server hostname or IP address, e.g. *172.18.46.1*. Note that the *"-s"* argument is an optional author's choice, to let the **nfs** translator exit if it fails to connect on the first 3 attempts. Its default, without "-s", is to keep trying. -- cgit v1.2.3