summary refs log tree commit diff
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)
downloadguix-2018fb2afe20988193a50fe30159725f51db0a4b.tar.gz
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)