summaryrefslogtreecommitdiff
path: root/hurd/running
diff options
context:
space:
mode:
Diffstat (limited to 'hurd/running')
-rw-r--r--hurd/running/Guix.mdwn19
-rw-r--r--hurd/running/Guix/qemu_image.mdwn14
-rw-r--r--hurd/running/arch_hurd.mdwn15
-rw-r--r--hurd/running/chroot.mdwn2
-rw-r--r--hurd/running/cloud.mdwn2
-rw-r--r--hurd/running/debian.mdwn71
-rw-r--r--hurd/running/debian/CrossInstall.mdwn4
-rw-r--r--hurd/running/debian/DebianAptOffline.mdwn8
-rw-r--r--hurd/running/debian/MediaPressKitDiscuss.mdwn2
-rw-r--r--hurd/running/debian/after_install.mdwn2
-rw-r--r--hurd/running/debian/qemu_image.mdwn54
-rw-r--r--hurd/running/debian/status.mdwn4
-rw-r--r--hurd/running/distrib.mdwn35
-rw-r--r--hurd/running/gnu.mdwn28
-rw-r--r--hurd/running/live_cd.mdwn16
-rw-r--r--hurd/running/qemu.mdwn127
-rw-r--r--hurd/running/qemu/networking.mdwn2
17 files changed, 273 insertions, 132 deletions
diff --git a/hurd/running/Guix.mdwn b/hurd/running/Guix.mdwn
new file mode 100644
index 00000000..64f9d0e7
--- /dev/null
+++ b/hurd/running/Guix.mdwn
@@ -0,0 +1,19 @@
+[[!meta title="Guix"]]
+
+GNU/Hurd support has been integrated in Guix.
+
+---
+# QEMU Image
+[[!inline pages=hurd/running/Guix/qemu_image raw=yes feeds=no]]
+
+---
+# Documentation
+
+As Hurd support is integrated in Guix, the official documentation (<https://guix.gnu.org/en/manual/devel/>) also works for Hurd.
+
+Guix has even support in its configuration language for creating Hurd VMs from a running Guix system (<https://guix.gnu.org/en/manual/devel/en/guix.html#The-Hurd-in-a-Virtual-Machine>).
+
+---
+# Status
+
+At the time of writing, the official Guix manual says that "This configuration is experimental and under development. The easiest way for you to give it a try is by setting up an instance of hurd-vm-service-type on your GNU/Linux machine (see hurd-vm-service-type). See Contributing, on how to help!" (<https://guix.gnu.org/en/manual/devel/en/guix.html#GNU-Distribution>).
diff --git a/hurd/running/Guix/qemu_image.mdwn b/hurd/running/Guix/qemu_image.mdwn
new file mode 100644
index 00000000..52985c6f
--- /dev/null
+++ b/hurd/running/Guix/qemu_image.mdwn
@@ -0,0 +1,14 @@
+[//]: # ([[meta copyright="Copyright © 2011, 2012, 2014, 2016 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]]."]]"""]]
+
+[[!meta title="Guix's QEMU Image"]]
+
+There is a QEMU image with [[Guix GNU/Hurd|guix]] pre-installed available
+at <https://ci.guix.gnu.org/search/latest/image?query=spec:images+status:success+system:x86_64-linux+hurd-barebones.qcow2>.
diff --git a/hurd/running/arch_hurd.mdwn b/hurd/running/arch_hurd.mdwn
index 0e6075bb..55091ec4 100644
--- a/hurd/running/arch_hurd.mdwn
+++ b/hurd/running/arch_hurd.mdwn
@@ -1,5 +1,3 @@
-[[!meta copyright="Copyright © 2010 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
@@ -12,10 +10,11 @@ License|/fdl]]."]]"""]]
Arch Hurd is a port of Arch Linux to the GNU Hurd, founded on 2010-01-04 by Michael Walker (Barrucadu) and, with input from a variety of people including Allan McRae (allan), Matthias Lanzinger (melpo), and Alexander Preisinger (giselher), the project has made excellent process. There is a livecd available on the Arch Hurd website, with which you can try or install Arch Hurd.
-### Links
+# External Links
-* Official Website: <http://www.archhurd.org>
-* Installation Guide: <http://wiki.archhurd.org/wiki/Installation_Guide>
-* Mailing Lists: <http://lists.archhurd.org>
-* Forum: <http://bbs.archhurd.org>
-* IRC: #archhurd on irc.freenode.net
+* [Official Website](http://www.archhurd.org)
+* [[!wikipedia Arch_Hurd]] on Wikipedia.
+* [Installation Guide](http://wiki.archhurd.org/wiki/Installation_Guide)
+* [Mailing Lists](http://lists.archhurd.org)
+* [Forum](http://bbs.archhurd.org)
+* IRC: #archhurd on [irc.freenode.net](https://freenode.net)
diff --git a/hurd/running/chroot.mdwn b/hurd/running/chroot.mdwn
index eac67282..0f5ec88f 100644
--- a/hurd/running/chroot.mdwn
+++ b/hurd/running/chroot.mdwn
@@ -24,7 +24,7 @@ It can be a good idea to put the chroot on a separate translator, for instance:
Debootstrap should be able to build the content:
- # debootstrap sid chroot
+ # debootstrap --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg --extra-suites=unreleased sid chroot http://deb.debian.org/debian-ports/
# Tricks
diff --git a/hurd/running/cloud.mdwn b/hurd/running/cloud.mdwn
index 736a7113..3d0d37ef 100644
--- a/hurd/running/cloud.mdwn
+++ b/hurd/running/cloud.mdwn
@@ -15,4 +15,4 @@ It is possible to run the Hurd as a KVM-based OpenStack cloud instance.
[[For the time being|open_issues/virtio]], you'll have to avoid using virtio
drivers, and use emulated hardware instead:
- $ glance image-create --property hw_disk_bus=ide --property hw_cdrom_bus=ide --property hw_vif_model=rtl8139 --disk-format raw --container-format bare --name gnu-hurd --copy-from https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd.img
+ $ glance image-create --property hw_disk_bus=ide --property hw_cdrom_bus=ide --property hw_vif_model=e1000 --disk-format raw --container-format bare --name gnu-hurd --copy-from https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd.img
diff --git a/hurd/running/debian.mdwn b/hurd/running/debian.mdwn
index c52fbf75..0772c48e 100644
--- a/hurd/running/debian.mdwn
+++ b/hurd/running/debian.mdwn
@@ -1,39 +1,33 @@
[[!meta title="Debian GNU/Hurd"]]
-# Debian Resources
-- Official page about the Debian GNU/Hurd port: [Debian GNU/Hurd](http://www.debian.org/ports/hurd/)
-- Debian [[FAQ]] — Frequently Asked Questions
+Debian GNU/Hurd is an effort to port the Debian distribution to the Hurd. Around 75% of Debian packages can already be run under Debian GNU/Hurd, which makes it very usable. See the [[Status]] of the Debian port for more information.
-## QEMU Image
+<!-- I don't know what it means that /etc/mtab -> /proc/mounts, but this is what I could interpret.
+ It was simply a line (h1, for some reason, on this page and it looked out of place. Correct or even delete this if it makes no sense -->
+
+One noteable difference in this port, is that `/etc/mtab` -> `/proc/mounts`
+
+---
+# QEMU Image
[[!inline pages=hurd/running/debian/qemu_image raw=yes feeds=no]]
+---
# 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
+---
# Contributing
- [[Porting]] — Helping with porting packages
* [[Patch_submission]] — How to submit patches for build failures
- [[Creating_image_tarball]]
-# Additional Information
-- [Presentation](http://people.debian.org/~mbanck/talks/hurd_lt2004/html/)
- *Debian GNU/Hurd*, [[MichaelBanck]], LinuxTag 2004 Karlsruhe
-- [[Status]]
-- [Archive Qualification](http://wiki.debian.org/ArchiveQualification/hurd-i386)
-
-
-# `/etc/mtab` -> `/proc/mounts`
-
-## IRC, freenode, #hurd, 2014-02-12
+### IRC, freenode, #hurd, 2014-02-12
<braunr> hm, there is something weird
- <braunr> after successfully installing (with the new installer cd), and
- rebooting, system init fails because fsck can't be run on /home (a
- separate partition)
- <braunr> it can't fsck because at that point, /home is already mounted, and
- indeed the translator is running
+ <braunr> after successfully installing (with the new installer cd), and rebooting, system init fails because fsck can't be run on /home (a separate partition)
+ <braunr> it can't fsck because at that point, /home is already mounted, and indeed the translator is running
<braunr> teythoon: any idea what might cause that ?
<teythoon> me ?
<teythoon> no
@@ -43,7 +37,7 @@
<braunr> hm, /etc/mtab isn't a link to /proc/mounts here, might explain
-## IRC, freenode, #hurd, 2014-02-12
+### IRC, freenode, #hurd, 2014-02-12
<braunr> yes, better with a proper symlink :)
<teythoon> good
@@ -52,34 +46,28 @@
<teythoon> i believe they dropped that
<youpi> err, but something must be creating it for newer systems
<teythoon> good point
- <braunr> well, except for these small details, everything went pretty
- smooth
+ <braunr> well, except for these small details, everything went pretty smooth
<braunr> both on ide and ahci
<youpi> it seems /etc/mtab gets created at boot
<youpi> (on Linux I mean)
- <teythoon> youpi: i cannot find the init script, but i'm sure that it was
- there
+ <teythoon> youpi: i cannot find the init script, but i'm sure that it was there
<youpi> I can't find it either on the installed system...
<azeem> maybe pere or rleigh in #debian-hurd can help
-## IRC, freenode, #hurd, 2014-02-13
+### IRC, freenode, #hurd, 2014-02-13
- <braunr> 6<--60(pid1698)->dir_lookup ("var/run/mtab" 4194305 0) = 0 3
- "/run/mtab" (null)
+ <braunr> 6<--60(pid1698)->dir_lookup ("var/run/mtab" 4194305 0) = 0 3 "/run/mtab" (null)
<braunr> looks like /etc/mtab isn't actually used anymore
<teythoon> it never was on hurd
<tomodach1> braunr: well it is generated i believe from mounted filesystems
- <tomodach1> if its still around there is a reason for it, like posix
- compatiblity perhaps?
- <braunr> 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
- <braunr> and since nothing currently creates this file, these tools, such
- as df, are lost
+ <tomodach1> if its still around there is a reason for it, like posix compatiblity perhaps?
+ <braunr> 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
+ <braunr> and since nothing currently creates this file, these tools, such as df, are lost
<braunr> they can't find the info they're looking for
-## IRC, freenode, #hurd, 2014-02-17
+### IRC, freenode, #hurd, 2014-02-17
<braunr> i still don't have mtab at the proper location on darnassus
<pere> is there something missing with sysvinit on hurd?
@@ -87,11 +75,16 @@
<pere> yes. I recommended fixing it in the hurd package. (BTS #737759)
<braunr> yes i saw but was there any action taken ?
<pere> did not check
- <teythoon> i thought youpi mentioned that it is fixed in the libc and we
- just need to rebuild coreutils or something
+ <teythoon> i thought youpi mentioned that it is fixed in the libc and we just need to rebuild coreutils or something
<pere> yes
<braunr> oh ok
<braunr> but doesn't that mean it will use /etc/mtab ?
- <pere> 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. :)
+ <pere> 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
+* 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
diff --git a/hurd/running/debian/CrossInstall.mdwn b/hurd/running/debian/CrossInstall.mdwn
index c7a099c6..26cd77af 100644
--- a/hurd/running/debian/CrossInstall.mdwn
+++ b/hurd/running/debian/CrossInstall.mdwn
@@ -17,9 +17,9 @@ Next we create a useful mountpoint and mount the partition.
### <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.
+Unless you don't run Debian GNU/Linux download it from <http://packages.debian.org/crosshurd>, or simply apt 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
+ # apt install crosshurd
### <a name="Cross_installing"> Cross installing </a>
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..927d05f1 100644
--- a/hurd/running/debian/after_install.mdwn
+++ b/hurd/running/debian/after_install.mdwn
@@ -11,7 +11,7 @@ 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]].
diff --git a/hurd/running/debian/qemu_image.mdwn b/hurd/running/debian/qemu_image.mdwn
index 6cafc834..9984ac33 100644
--- a/hurd/running/debian/qemu_image.mdwn
+++ b/hurd/running/debian/qemu_image.mdwn
@@ -1,5 +1,4 @@
-[[!meta copyright="Copyright © 2011, 2012, 2014, 2016 Free Software Foundation,
-Inc."]]
+[//]: # ([[meta copyright="Copyright © 2011, 2012, 2014, 2016 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
@@ -9,25 +8,58 @@ 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]]."]]"""]]
+[[!meta title="Debian's QEMU Image"
+
There is a QEMU image with [[Debian GNU/Hurd|debian]] pre-installed available
-as <https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd.img.tar.gz>.
+at <https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd.img.tar.gz>.
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)
+* Install qemu-kvm via your distribution's package manager (it might just be named qemu)
+* Download the image, unpack it, and run it:
+
+<!-- Code snippits embedded in lists are garbage. Do not remove this comment. -->
+
+ $ 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 -net nic,model=e1000
+
+* 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 -net nic,model=e1000
+
+Or, if your machine does not allow for KVM acceleration, omit `--enable-kvm` from the command.
+
+
Please also read the README file: <https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/README>
+<!-- It is unconventional, in wikis, to write external links like [...](http://...).
+ Usually a link to an external site should always be fully visible, but I think
+ people can understand where these lead, but revert if this is a bad idea.-->
+
If you have troubles extracting the image, you can use
-the gz version <https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd.img.gz>,
-the zip version <https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd.img.zip>,
-or even the plain version <https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd.img> (5GiB!)
+the [gz version](https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd.img.gz),
+the [zip version](https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd.img.zip),
+or even the [plain version](https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd.img) (5GiB!)
See the discussion about [[hurd/running/qemu/writeback_caching]].
-Just in case you were wondering: the *root* password is empty.
-
[[!if test="destpage(hurd/running/qemu)" then="" else="For more detailed
instructions, please see the [[hurd/running/QEMU]] page."]]
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)
diff --git a/hurd/running/distrib.mdwn b/hurd/running/distrib.mdwn
index 8c411fd0..5d12f8ec 100644
--- a/hurd/running/distrib.mdwn
+++ b/hurd/running/distrib.mdwn
@@ -9,45 +9,42 @@ distributions in regard to ethical criteria. Please visit
<http://www.gnu.org/distros/free-system-distribution-guidelines.html> to learn
what those standards are."""]]
-Working distributions of GNU/Hurd:
+There are several GNU distributions that are built on the Hurd. If you develop a Hurd-based distro or know of one that isn't on this list yet, feel free to add it!
+
+###Working distributions of GNU/Hurd:
* [[Debian]]
+* [[Guix]]
-GNU/Hurd distributions in early stages of development:
+###GNU/Hurd distributions in early stages of development:
* [[Arch|arch_hurd]] (features a LiveCD)
* [[Nix]]
-Defunct GNU/Hurd distributions:
+###Defunct GNU/Hurd distributions:
* Bee GNU/Hurd. Castellano distribution, pkgsrc package based.
- * [[GNU]]
* Unofficial port to Gentoo and the portage system. It was
[announced](http://forums.gentoo.org/viewtopic.php?t=41939&amp;postdays=0&amp;postorder=asc&amp;start=0)
March 17, 2003 in the Gentoo forums, but development stopped at some point.
- IRC, freenode, #hurd, 2013-01-15:
+####IRC, freenode, #hurd, 2013-01-15:
<WhiteKIBA> we are trying to revive Gentoo/hurd
<WhiteKIBA> we are using debian as a start
- <WhiteKIBA> we installed portage on debian and are now bootstrapping
- the system into a folder
+ <WhiteKIBA> we installed portage on debian and are now bootstrapping the system into a folder
<WhiteKIBA> except glibc everything seems fine
- <_d3f> braunr: http://wiki.rout0r.org/index.php/Gentoo/Hurd/en - if you
- want to know more.
+ <_d3f> braunr: http://wiki.rout0r.org/index.php/Gentoo/Hurd/en - if you want to know more.
- IRC, freenode, #hurd, 2013-02-01:
+####IRC, freenode, #hurd, 2013-02-01:
- <WhiteKIBA> natsukao: http://wiki.rout0r.org/index.php/Gentoo/Hurd/en I
- am working on it
- <WhiteKIBA> if i can get glibc to compile correctly i can create a
- stage3 but at the moment it fails
+ <WhiteKIBA> natsukao: http://wiki.rout0r.org/index.php/Gentoo/Hurd/en I am working on it
+ <WhiteKIBA> if i can get glibc to compile correctly i can create a stage3 but at the moment it fails
- IRC, freenode, #hurd, 2013-02-02:
+####IRC, freenode, #hurd, 2013-02-02:
<alexxy> WhiteKIBA: you may be interested in my try to run gentoo/hurd
- <alexxy> WhiteKIBA:
- http://omrb.pnpi.spb.ru/gitweb/?p=gentoo/hurd.git;a=summary
+ <alexxy> WhiteKIBA: http://omrb.pnpi.spb.ru/gitweb/?p=gentoo/hurd.git;a=summary
# Using
@@ -72,7 +69,7 @@ about getting applications to work (if possible).
</dl>
-# Misc.
+# External
-* [Ognyan Kulev Collection](http://debian.fmi.uni-sofia.bg/~ogi/hurd/links/index.html) of links (unsupported)
+* [Ognyan Kulev Collection](https://web.archive.org/web/20080513192630/http://www.bddebian.com/~wiki/) of links (unsupported)
* [2000 Jim Franklin Collection](http://angg.twu.net/the_hurd_links.html) of links
diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn
index accba6b7..964e7e8e 100644
--- a/hurd/running/gnu.mdwn
+++ b/hurd/running/gnu.mdwn
@@ -1,13 +1,35 @@
+[[!meta title="The GNU System"]]
+
# <a name="The_GNU_Operating_System"> </a> The GNU Operating System
-The GNU Operating System, or GNU System as it is more commonly known, will be a
+The GNU Operating System, Commonly referred to as simply "The GNU System", is a
complete [[Unix]]-like operating system composed entirely of [free
software](http://www.gnu.org/philosophy/free-sw.html). The creation of the GNU
System is one of the goals of the [GNU Project](http://www.gnu.org/), which was
[launched in 1983](http://www.gnu.org/gnu/initial-announcement.html) by
-[Richard Stallman](http://www.stallman.org/).
+[Richard Stallman](http://www.stallman.org/). It has many ambitious goals that
+the GNU/Hurd intends to address.
+
+These goals include increased security through the [[principle of least
+privilege|https://en.wikipedia.org/wiki/Principle%5Fof%5Fleast%5Fprivilege]], an
+[[extensible system|extensibility]], conformation to open operating standards
+including [[POSIX|https://en.wikipedia.org/wiki/POSIX]], modularity, and
+respecting user freedom. Many of these goals are things that the GNU/Hurd can
+resolve, however the GNU/Hurd is not the most stable operating system yet.
+
+If you are looking for a production ready GNU system, then [[hurd/running/Debian]] GNU/Hurd may
+not be the best choice for you. Debian GNU/Hurd currently lacks 64-bit support,
+many device drivers, sound support, SMP, and a few other essential bits that
+provide a flexible operating system.
+However, [[gnu.org|https://www.gnu.org/distros/free-distros.html]] maintains a
+list of freedom respecting and production ready GNU/Linux systems. One of the
+most promising of these is [[GuixSD|https://www.gnu.org/software/guix/]], which
+is the GNU Guix System Distribution, which eventually plans to support the GNU
+Hurd as the kernel!
## Resources
- * [[mailing_lists/gnu-system-discuss]] mailing list
+* [[mailing_lists/gnu-system-discuss]] mailing list
+* [Free as in Freedom 2.0 (PDF)](https://static.fsf.org/nosvn/faif-2.0.pdf)
+* [Free Software, Free Society (PDF)](https://www.gnu.org/philosophy/fsfs/rms-essays.pdf)
diff --git a/hurd/running/live_cd.mdwn b/hurd/running/live_cd.mdwn
index 7c5f0a8e..85cc8f9e 100644
--- a/hurd/running/live_cd.mdwn
+++ b/hurd/running/live_cd.mdwn
@@ -1,14 +1,26 @@
+[[!meta title="Arch Hurd Live CD"]]
+
[[Arch Hurd|hurd/running/arch_hurd/]] offers Hurd LiveCDs at <http://www.archhurd.org/download/>.
A less recent Live CD can be found at <http://teythoon.cryptobitch.de/hurd/livecd/hurd-live-install-1273300101.iso.xz>.
-It can be run with qemu via
+Arch Hurd also offers a QEMU image. It can be run with QEMU via
+
+ $ wget https://files.archhurd.org/iso/2018.09.28/archhurd-2018.09.28.img.xz
+ $ xz -d archhurd-2018.09.28.img.xz
+ $ kvm -m 1G -drive cache=writeback,file=archhurd-2018.09.28.img
+
+The .img file is useful for running Arch Hurd in a virtual machine. For hardware installations,
+ use the Live CD. When using Arch Hurd in QEMU, the command 'hurd-halt' safely stops the
+emulation (removing the need for '-no-reboot')
+
+To install the Live CD ISO file in QEMU (instead of using the .img file):
$ wget http://teythoon.cryptobitch.de/hurd/livecd/hurd-live-install-1273300101.iso.xz
$ xz -d hurd-live-install-1273300101.iso.xz
$ qemu -m 512 -cdrom hurd-live-install-1273300101.iso
-These [[!wikipedia LiveCD]]s should be useful for those who want to try out the
+The [[!wikipedia LiveCD]] should be useful for those who want to try out the
Hurd before they commit to installing it on their hard disks. In addition to
that, the bootable Hurd CDs should enable us to have a native installer instead
of relying on Linux.
diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn
index 369ceab6..c56292c8 100644
--- a/hurd/running/qemu.mdwn
+++ b/hurd/running/qemu.mdwn
@@ -1,6 +1,3 @@
-[[!meta copyright="Copyright © 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
-2013, 2014, 2016 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
@@ -9,6 +6,8 @@ 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]]."]]"""]]
+[[!meta title="QEMU Image"]]
+
This page discusses things for [[Unix]] systems, there is a separate page for
[[Microsoft_Windows]] systems.
@@ -16,15 +15,70 @@ See the discussion about [[hurd/running/qemu/writeback_caching]].
[[!toc]]
+---
# Readily Available Images
-You can use the following images to give the GNU/Hurd a try.
+You can use the following images to give the Hurd a try.
## Debian GNU/Hurd
[[!inline pages=hurd/running/debian/qemu_image raw=yes feeds=no]]
-## [[Nix]]
+#### Trying out rumpdisk
+
+[[Rump kernels|hurd/rump]] provide new modern drivers for the Hurd.
+We refer to rumpdisk as a rump kernel that provides drivers for modern
+hard drives, SSDs, etc. The Rump kernels' integration into the Hurd
+are still somewhat experimental, but they seem to work fairly well on
+bleeding edge Debian.
+
+Once you have your latest qemu Debian GNU/Hurd image running, then you
+can try the rumpdisk (be sure to pass "-m 2GB" or more). First,
+add these sources to your /etc/apt/sources.list
+
+ deb http://deb.debian.org/debian-ports unstable main
+ deb-src http://deb.debian.org/debian unstable main
+ deb http://deb.debian.org/debian-ports unreleased main
+
+Then, upgrade to the bleeding edge Debian GNU/Hurd:
+
+ # apt update
+ # apt upgrade --without-new-pkgs
+ # apt dist-upgrade
+
+Now test to see if the rump kernel works before you make the change
+permanent. Manually tweak your /boot/grub/grub.cfg like so:
+
+ # multiboot /boot/gnumach-1.8-486.gz root=part:2:device:hd0 console=com0
+ multiboot /boot/gnumach-1.8-486.gz root=part:2:device:wd0 console=com0 noide
+
+and your /etc/fstab
+
+ #/dev/hd0s2 / ext2 defaults 0 1
+ /dev/wd0s2 / ext2 defaults 0 1
+ #/dev/hd0s1 none swap sw 0 0
+ /dev/wd0s1 none swap sw 0 0
+ #/dev/hd2 /media/cdrom0 iso9660 noauto 0 0
+ /dev/wd2 /media/cdrom0 iso9660 noauto 0 0
+
+Now you can poweroff your machine, reboot, and start using the
+rumpdisk! You can make these changes permanent by tweaking
+/etc/default/grub and telling it to use rumpdisk:
+
+ GRUB_CMDLINE_GNUMACH="noide"
+
+Then update your grub:
+
+ # update-grub
+
+Check that "noide" does appear in your /boot/grub/grub.cfg.
+
+
+## Arch Hurd Live CD
+
+[[!inline pages=hurd/running/live_cd raw=yes feeds=no]]
+
+## [[NixOS and GuixSD|Nix]]
## Unofficial Images
@@ -38,18 +92,17 @@ volunteers and may not have been tested extensively.
with it, please have a look at [[its_wikipage|hurd/running/qemu/babhurd_image]]. And when
you use it, please [tell me your experience with it](http://draketo.de/contact)! - [[community/weblogs/ArneBab]]
-# Arch Hurd Live CD
-Also you can use QEMU to easily try one of the
-[[Hurd_LiveCDs|hurd/running/live_cd/]].
+---
# What is Needed to create a QEMU image
## Debian Installer
-Instructions for creating a qemu image from the install CDs from debian installer can be found in the README alongside the d-i Hurd images: <http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/>
+Instructions for creating a qemu image from the install CDs from debian installer can be found in the README alongside the d-i Hurd images: <https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/>
+---
# KVM acceleration
Check if your CPU supports kvm:
@@ -57,7 +110,7 @@ Check if your CPU supports kvm:
$ egrep '^flags.*(vmx|svm)' /proc/cpuinfo
#### If you don't have hardware support (slow):
- $ apt-get install qemu
+ $ apt install qemu
Do not enable kernel-kqemu, as that assumes some particular behavior from the guest kernel, which we are reluctant to artificially add to gnumach.
@@ -65,7 +118,7 @@ If QEMU with KVM is not available, [[Virtualbox]] reportedly has better
performance.
#### If you have hardware support (recommended):
- $ apt-get install qemu-kvm
+ $ apt install qemu-kvm
$ modprobe kvm
Intel VTx/VTd: Enable Intel kvm in the BIOS
@@ -97,6 +150,7 @@ More info on kvm at: http://www.linux-kvm.org/page/FAQ
If your machine supports hardware acceleration, you should really use the kvm variant of qemu, as it speeds things quite a lot.
+---
# HAP/EPT/NPT acceleration
Performance will be yet better if HAP (EPT or NPT) is available:
@@ -104,6 +158,7 @@ Performance will be yet better if HAP (EPT or NPT) is available:
$ grep ept /proc/cpuinfo
$ grep npt /proc/cpuinfo
+---
# Installing Debian/Hurd with QEMU using the Debian installer
Note: If you have hardware support, replace the qemu commands below with kvm, e.g. qemu-ing -> kvm-img.
@@ -114,7 +169,7 @@ First off you will need to create a disk image using `qemu-img`. I have set mine
Next you will want to start up QEMU and begin the installation process.
- $ qemu -m 1G -drive cache=writeback,file=hd0.img -cdrom debian-7.0-hurd-i386-NETINST-1.iso -net nic,model=rtl8139 -net user
+ $ qemu -m 1G -drive cache=writeback,file=hd0.img -cdrom debian-7.0-hurd-i386-NETINST-1.iso -net nic,model=e1000 -net user
Now at his point do the regular install using `hd0` as your harddrive. Partition it and install the base system.
@@ -162,7 +217,7 @@ Once you have finished installing the base system (might take some time) the sys
Starting qemu/qemu-kvm:
- $ kvm -m 1G -net nic -net user,hostfwd=tcp::5555-:22 -drive cache=writeback,file=hd0.img -vga vmware
+ $ kvm -m 1G -net nic,model=e1000 -net user,hostfwd=tcp::5555-:22 -drive cache=writeback,file=hd0.img -vga vmware
vmsvga_value_write: guest runs Linux.
Note: See below on port forwarding in the networking section.
@@ -195,7 +250,7 @@ During the graphical emulation, you can use the following keys:
3 Serial port
<Ctrl><Alt> Toggle mouse and keyboard grab.
-
+---
# Transferring Files
## Mounting Disk Image on Host
@@ -230,7 +285,7 @@ loop-mounting the file systems images. (Also you don't need `root' rights.)
However, note that there is a bug in [[translator/fatfs]]: [[!GNU_Savannah_bug
25961]].
-
+---
# Networking in QEMU
Some further notes about [[networking]] and home hints about
@@ -240,20 +295,20 @@ Some further notes about [[networking]] and home hints about
If you just want to access the internet from within QEMU, you can setup pfinet for QEMU's user-networking:
- # settrans -afgp /servers/socket/2 /hurd/pfinet -i eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
+ # settrans -afgp /servers/socket/2 /hurd/pfinet -i /dev/eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
# echo "nameserver 10.0.2.3" > /etc/resolv.conf
If you are on [[Debian GNU/Hurd|debian]], you can even use [[debian/DHCP]].
To get ssh working:
- # apt-get install random-egd openssh-server (Similarly for telnet if preferred)
+ # apt install openssh-server (Similarly for telnet if preferred)
(See also <http://www.nongnu.org/qemu/qemu-doc.html#SEC32>.)
Outgoing internet connections should just work then.
Testing it can be difficult with a minimal installation,
-but `apt-get update` should work after you have filled out
+but `apt update` should work after you have filled out
`/etc/apt/sources.list`.
After that you should be able to install other network packages,
but note that `ping` doesn't work with QEMU's user-networking stack.
@@ -261,14 +316,11 @@ but note that `ping` doesn't work with QEMU's user-networking stack.
If you want to connect from the host system to the Hurd system running in QEMU, you can use port forwarding in QEMU or to setup something more advanced, like bridged networking.
-### IRC, freenode, #hurd, 2014-02-12
+#### IRC, freenode, #hurd, 2014-02-12
- <braunr> youpi: also, the problems i had with regard to accessing the
- debian repository were caused by a qemu bug where, in nat mode, qemu is
- unable to handle dns requests if the host dns servers are ipv6 ones
+ <braunr> youpi: also, the problems i had with regard to accessing the debian repository were caused by a qemu bug where, in nat mode, qemu is unable to handle dns requests if the host dns servers are ipv6 ones
<youpi> yes, we've noticed that with a student of mine
- <youpi> you may be interested by a patch we submitted to qemu-devel, that
- adds ipv6 support to -net user :)
+ <youpi> you may be interested by a patch we submitted to qemu-devel, that adds ipv6 support to -net user :)
<braunr> :)
<braunr> for now i directly change resolv.conf
<youpi> braunr: the issue is that you have only ipv6 nameservers, right?
@@ -286,7 +338,7 @@ This is the recommended way to work with a Command Line Interface (CLI) since al
a) with ssh (assuming you have installed openssh-server)
- $ kvm -m 1G -net nic -net user,hostfwd=tcp::5555-:22 -drive cache=writeback,file=hd0.img &
+ $ kvm -m 1G -net nic,model=e1000 -net user,hostfwd=tcp::5555-:22 -drive cache=writeback,file=hd0.img &
Logging in to the running Hurd:
@@ -303,7 +355,7 @@ Copying files:
b) with telnet (assuming you have installed a telnet server, like telnetd)
- $ kvm -m 1G -net nic -net user,hostfwd=tcp::5556-:23 -drive cache=writeback,file=hurd-install.qemu &
+ $ kvm -m 1G -net nic,model=e1000 -net user,hostfwd=tcp::5556-:23 -drive cache=writeback,file=hurd-install.qemu &
Logging in to the running Hurd:
@@ -344,22 +396,25 @@ Now it is time to start-up your QEMU Hurd system and get networking going in the
**Important:** Remember you may need to use the `-M isapc` or `-isa` flag if using an older version of the gnumach package.
- $ qemu -m 1G -drive cache=writeback,file=hd0.img -cdrom debian-K9-hurd-i386-CD1.iso -fda floppy.img -boot a -net nic -net tap
+ $ qemu -m 1G -drive cache=writeback,file=hd0.img -cdrom debian-K9-hurd-i386-CD1.iso -fda floppy.img -boot a -net nic,model=e1000 -net tap
Once you have logged in as `root` run the `pfinet` translator with values that apply to your network. Think of your QEMU client as another computer in your network.
- # settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a xxx.xxx.xxx.xxx -g xxx.xxx.xxx.xxx -m xxx.xxx.xxx.xxx
+ # settrans -fgap /servers/socket/2 /hurd/pfinet -i /dev/eth0 -a xxx.xxx.xxx.xxx -g xxx.xxx.xxx.xxx -m xxx.xxx.xxx.xxx
That should do it! Do not forget to edit/update `/etc/resolv.conf` to get DNS working.
-# <a name="multiboot">Multiboot</a>
+---
+# Booting Hurd without grub, using qemu's multiboot support
See "Linux/Multiboot boot specific" section on QEMU manpage.
Get the multiboot modules. Either extract them from the disk image, or,
download:
- $ wget http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/current/{gnumach.gz,ext2fs.static,ld.so.1}
+ $ wget https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/gnumach.gz
+ $ wget https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/ext2fs.static
+ $ wget https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/exec.static
Generally, these files need to correspond to the ones in the disk image, so
don't forget to keep them up to date.
@@ -369,18 +424,16 @@ you'll get told: *qemu: linux kernel too old to load a ram disk*.
$ qemu [...] \
> --kernel gnumach \
+ > --append 'root=device:hd0s1' \
> --initrd \
- > '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 device:hd0s1 $(task-create) $(task-resume)',\
- > 'ld.so.1 /hurd/exec $(exec-task=task-create)'
+ > '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)',\
+ > 'exec.static $(exec-task=task-create)'
Note that, contrary to [[GRUB]]'s configuration file, you don't specify
"`argv[0]`" here, and it's fortunate that neither ext2fs nor exec need a comma
on their command line...
-You can also use `--append [...]`, which will show up in `/proc/cmdline`.
-
-Command line above crashes with old qemu versions, for instance qemu 1.1.2 on Debian Wheezy, fixed by upgrading to wheezy-backports currently qemu 1.7.0, see [[!debbug 741873]]
-
+---
# Related Links
These are links that users may find helpful.
@@ -390,4 +443,4 @@ system after installation.
[[Image_for_L4]] -- a QEMU image for the Hurd/L4 project.
-<http://eyeside.net/hurd/Hurd-on-QEMU.html>
+[Hurd Installation Guide from eyeside.net](https://web.archive.org/web/20130516025306/http://www.eyeside.net/index.htm)
diff --git a/hurd/running/qemu/networking.mdwn b/hurd/running/qemu/networking.mdwn
index 0c8e0ae8..c91c7fc8 100644
--- a/hurd/running/qemu/networking.mdwn
+++ b/hurd/running/qemu/networking.mdwn
@@ -12,7 +12,7 @@ License|/fdl]]."]]"""]]
## User mode network
This is the default networking option for qemu. This does not require root
-previleges. If you have DHCP running it will take the ip as 10.0.2.15
+privileges. If you have DHCP running it will take the ip as 10.0.2.15
You can setup an ip 10.0.2.*
Gateway is 10.0.2.2