From 1ef8b72a7f87afe7cffe52393d99e1b14e4770e1 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Fri, 28 Oct 2016 03:07:18 -0700 Subject: system: Record store file system info in each generation. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/system.scm ()[store-device, store-mount-point]: New fields. (read-boot-parameters): Initialize them. (operating-system-grub.cfg): Likewise. Remove STORE-FS argument from call to 'grub-configuration-file'. (operating-system-parameters-file): Add 'store' element in 'boot-parameters'. * gnu/system/grub.scm (strip-mount-point): Replace 'store-fs' parameter by 'mount-point'; adjust accordingly. Adjust callers. ()[device, device-mount-point]: New fields. (eye-candy): Replace 'root-fs' parameter by 'store-device'; add 'store-mount-point'. Use keyword arguments for 'system' and 'port'. (grub-root-search): Remove 'root-fs' by 'device' and adjust accordingly. (grub-configuration-file): Remove 'store-fs' parameter. Adjust accordingly. * guix/scripts/system.scm (previous-grub-entries): Initialize 'device' and 'device-mount-point' fields from PARAMS. * doc/guix.texi (GRUB Configuration): Document 'device' and 'device-mount-point'. Explain that 'linux' can be prefixed by a GRUB device name. Co-authored-by: Ludovic Courtès --- doc/guix.texi | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index 09d206b462..e9ff605711 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11088,6 +11088,17 @@ The Linux kernel image to boot, for example: (file-append linux-libre "/bzImage") @end example +It is also possible to specify a device explicitly in the file path +using GRUB's device naming convention (@pxref{Naming convention,,, grub, +GNU GRUB manual}), for example: + +@example +"(hd0,msdos1)/boot/vmlinuz" +@end example + +If the device is specified explicitly as above, then the @code{device} +field is ignored entirely. + @item @code{linux-arguments} (default: @code{()}) The list of extra Linux kernel command-line arguments---e.g., @code{("console=ttyS0")}. @@ -11096,6 +11107,22 @@ The list of extra Linux kernel command-line arguments---e.g., A G-Expression or string denoting the file name of the initial RAM disk to use (@pxref{G-Expressions}). +@item @code{device} (default: @code{#f}) +The device where the kernel and initrd are to be found---i.e., the GRUB +@dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual}). + +This may be a file system label (a string), a file system UUID (a +bytevector, @pxref{File Systems}), or @code{#f}, in which case GRUB will +search the device containing the file specified by the @code{linux} +field (@pxref{search,,, grub, GNU GRUB manual}). It must @emph{not} be +an OS device name such as @file{/dev/sda1}. + +@item @code{device-mount-point} (default: @code{"/"}) +The mount point of the above device on the system. You probably do not +need to change the default value. GuixSD uses it to strip the prefix of +store file names for systems where @file{/gnu} or @file{/gnu/store} is +on a separate partition. + @end table @end deftp -- cgit v1.2.3