summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan (janneke) Nieuwenhuizen <janneke@gnu.org>2020-05-03 15:09:15 +0200
committerJan Nieuwenhuizen <janneke@gnu.org>2020-06-08 13:51:18 +0200
commit2018fb2afe20988193a50fe30159725f51db0a4b (patch)
treecf100d48d042d0dcd5f2926d921d3a3b09277471
parent45b2cb439deaa2f438aed3893ee8fc80445d5563 (diff)
system: Add 'hurd' field to <operating-system>.
* gnu/system.scm (<operating-system>)[hurd]: New field. * doc/guix.texi (operating-system Reference): Document 'hurd'.
-rw-r--r--doc/guix.texi18
-rw-r--r--gnu/system.scm3
2 files changed, 18 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 056bf011f6..46aceae068 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11484,9 +11484,21 @@ configuration (@pxref{Using the Configuration System}).
@table @asis
@item @code{kernel} (default: @code{linux-libre})
-The package object of the operating system kernel to use@footnote{Currently
-only the Linux-libre kernel is supported. In the future, it will be
-possible to use the GNU@tie{}Hurd.}.
+The package object of the operating system kernel to
+use@footnote{Currently only the Linux-libre kernel is fully supported.
+Using GNU@tie{}mach with the GNU@tie{}Hurd is experimental and only
+available when building a virtual machine disk image.}.
+
+@cindex hurd
+@item @code{hurd} (default: @code{#f})
+The package object of the hurd to be started by the kernel. When this
+field is set, produce a GNU/Hurd operating system. In that case,
+@code{kernel} must also be set to the @code{gnumach} package---the
+microkernel the Hurd runs on.
+
+@quotation Warning
+This feature is experimental and only supported for disk images.
+@end quotation
@item @code{kernel-loadable-modules} (default: '())
A list of objects (usually packages) to collect loadable kernel modules
diff --git a/gnu/system.scm b/gnu/system.scm
index 79f52acc23..310a4aac87 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -83,6 +83,7 @@
operating-system-packages
operating-system-host-name
operating-system-hosts-file
+ operating-system-hurd
operating-system-kernel
operating-system-kernel-file
operating-system-kernel-arguments
@@ -187,6 +188,8 @@
(default '())) ; list of packages
(kernel-arguments operating-system-user-kernel-arguments
(default %default-kernel-arguments)) ; list of gexps/strings
+ (hurd operating-system-hurd
+ (default #f)) ; package
(bootloader operating-system-bootloader) ; <bootloader-configuration>
(label operating-system-label ; string
(thunked)