bug#27007: [PATCH v2 2/2] doc: Adapt to multiple bootloader support.

2017-06-08 Thread Mathieu Othacehe

> In the future, I think it’ll be preferable to commit code/tests/doc
> together.  That is, in the commit that changes the API from being
> GRUB-specific to supporting multiple bootloaders, we include not only
> the code but also the doc update.  This simplifies review, makes sure
> each commit is self-contained, and ensure that users get consistent
> documentation.

Yes I noticed this has confused some users, sorry for that :(.

I pushed the two commits.

Thanks,

Mathieu





bug#27007: [PATCH v2 2/2] doc: Adapt to multiple bootloader support.

2017-06-08 Thread Ludovic Courtès
Mathieu Othacehe  skribis:

> * doc/guix.texi (GRUB configuration): Rename to "Bootloader
>   configuration".
>   Remove device-mount-point field from menu-entry description.
>   Adapt occurences of "GRUB" in other sections.

LGTM.

In the future, I think it’ll be preferable to commit code/tests/doc
together.  That is, in the commit that changes the API from being
GRUB-specific to supporting multiple bootloaders, we include not only
the code but also the doc update.  This simplifies review, makes sure
each commit is self-contained, and ensure that users get consistent
documentation.

Thanks again!

Ludo’.





bug#27007: [PATCH v2 2/2] doc: Adapt to multiple bootloader support.

2017-06-08 Thread Mathieu Othacehe
* doc/guix.texi (GRUB configuration): Rename to "Bootloader
  configuration".
  Remove device-mount-point field from menu-entry description.
  Adapt occurences of "GRUB" in other sections.
---
 doc/guix.texi | 177 --
 1 file changed, 98 insertions(+), 79 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index f69c84dea..00bf24d3f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -199,7 +199,7 @@ System Configuration
 * X.509 Certificates::  Authenticating HTTPS servers.
 * Name Service Switch:: Configuring libc's name service switch.
 * Initial RAM Disk::Linux-Libre bootstrapping.
-* GRUB Configuration::  Configuring the boot loader.
+* Bootloader Configuration::Configuring the boot loader.
 * Invoking guix system::Instantiating a system configuration.
 * Running GuixSD in a VM::  How to run GuixSD in a virtual machine.
 * Defining Services::   Adding new service definitions.
@@ -7797,7 +7797,7 @@ instance to support new system services.
 * X.509 Certificates::  Authenticating HTTPS servers.
 * Name Service Switch:: Configuring libc's name service switch.
 * Initial RAM Disk::Linux-Libre bootstrapping.
-* GRUB Configuration::  Configuring the boot loader.
+* Bootloader Configuration::Configuring the boot loader.
 * Invoking guix system::Instantiating a system configuration.
 * Running GuixSD in a VM::  How to run GuixSD in a virtual machine.
 * Defining Services::   Adding new service definitions.
@@ -7980,7 +7980,7 @@ system, should you ever need to.
 Speaking of roll-back, each time you run @command{guix system
 reconfigure}, a new @dfn{generation} of the system is created---without
 modifying or deleting previous generations.  Old system generations get
-an entry in the GRUB boot menu, allowing you to boot them in case
+an entry in the bootloader boot menu, allowing you to boot them in case
 something went wrong with the latest generation.  Reassuring, no?  The
 @command{guix system list-generations} command lists the system
 generations available on disk.  It is also possible to roll back the
@@ -8036,7 +8036,7 @@ List of strings or gexps representing additional 
arguments to pass on
 the command-line of the kernel---e.g., @code{("console=ttyS0")}.
 
 @item @code{bootloader}
-The system bootloader configuration object.  @xref{GRUB Configuration}.
+The system bootloader configuration object.  @xref{Bootloader Configuration}.
 
 @item @code{initrd} (default: @code{base-initrd})
 @cindex initrd
@@ -15711,32 +15711,52 @@ upon booting.  All the derivations referenced by 
@var{exp} are
 automatically copied to the initrd.
 @end deffn
 
-@node GRUB Configuration
-@subsection GRUB Configuration
+@node Bootloader Configuration
+@subsection Bootloader Configuration
 
-@cindex GRUB
+@cindex bootloader
 @cindex boot loader
 
-The operating system uses GNU@tie{}GRUB as its boot loader
-(@pxref{Overview, overview of GRUB,, grub, GNU GRUB Manual}).  It is
-configured using a @code{grub-configuration} declaration.  This data type
-is exported by the @code{(gnu system grub)} module and described below.
+The operating system supports multiple bootloaders.  The bootloader is
+configured using @code{bootloader-configuration} declaration.  All the
+fields of this structure are bootloader agnostic except for one field,
+@code{bootloader} that indicates the bootloader to be configured and
+installed.
 
-@deftp {Data Type} grub-configuration
-The type of a GRUB configuration declaration.
+Some of the bootloaders do not honor every field of
+@code{bootloader-configuration}.  For instance, the extlinux
+bootloader does not support themes and thus ignores the @code{theme}
+field.
+
+@deftp {Data Type} bootloader-configuration
+The type of a bootloader configuration declaration.
 
 @table @asis
 
+@item @code{bootloader}
+@cindex EFI, bootloader
+@cindex UEFI, bootloader
+@cindex BIOS, bootloader
+The bootloader to use, as a @code{bootloader} object. For now
+@code{grub-bootloader}, @code{grub-efi-bootloader} and
+@code{extlinux-bootloader} are supported.  @code{grub-efi-bootloader},
+allows to boot on modern systems using the @dfn{Unified Extensible
+Firmware Interface} (UEFI).
+
+Available bootloaders are described in @code{(gnu bootloader @dots{})}
+modules.
+
 @item @code{device}
 This is a string denoting the boot device.  It must be a device name
-understood by the @command{grub-install} command, such as
-@code{/dev/sda} or @code{(hd0)} (@pxref{Invoking grub-install,,, grub,
+understood by the bootloader @command{installer} command, such as
+@code{/dev/sda} or @code{(hd0)} (for GRUB, @pxref{Invoking grub-install,,, 
grub,
 GNU GRUB Manual}).
 
 @item @code{menu-entries} (default: @code{()})
 A possibly empty list of @code{menu-entry} objects (see below), denoting
-entries to appear in the GRUB boot menu, in addition to the current
+entries to