From 2018fb2afe20988193a50fe30159725f51db0a4b Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 3 May 2020 15:09:15 +0200 Subject: [PATCH] system: Add 'hurd' field to . * gnu/system.scm ()[hurd]: New field. * doc/guix.texi (operating-system Reference): Document 'hurd'. --- doc/guix.texi | 18 +++++++++++++++--- gnu/system.scm | 3 +++ 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) ; (label operating-system-label ; string (thunked)