summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authortiantian <typ22@foxmail.com>2022-09-05 01:25:38 +0800
committerJulien Lepiller <julien@lepiller.eu>2022-09-08 22:29:57 +0200
commit52d780ea2b0714d035a84e350b516ca2e2c19af1 (patch)
tree079439d6fc244433b4fd9a5bf9a9fd4fdb01f54d /doc
parente8bded2de72c17317d7799b699a724086f92ed7b (diff)
downloadguix-52d780ea2b0714d035a84e350b516ca2e2c19af1.tar.gz
gnu: bootloader: Extend `<menu-entry>' for chain-loader.
* gnu/bootloader.scm (<menu-entry>)[chain-loader]: New field.
(menu-entry->sexp, sexp->menu-entry): Support chain-loader.
* doc/guix.texi (Bootloader Configuration): Document it.

Co-Authored-By: Julien Lepiller <julien@lepiller.eu>
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi18
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index db72e75a69..c21235f28d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -37553,6 +37553,24 @@ The list of commands for loading Multiboot modules.  For example:
              @dots{}))
 @end lisp
 
+@item @code{chain-loader} (default: @code{#f})
+A string that can be accepted by @code{grub}'s @code{chainloader}
+directive. This has no effect if either @code{linux} or
+@code{multiboot-kernel} fields are specified. The following is an
+example of chainloading a different GNU/Linux system.
+
+@lisp
+(bootloader
+ (bootloader-configuration
+  ;; @dots{}
+  (menu-entries
+   (list
+    (menu-entry
+     (label "GNU/Linux")
+     (device (uuid "1C31-A17C" 'fat))
+     (chain-loader "/EFI/GNULinux/grubx64.efi"))))))
+@end lisp
+
 @end table
 @end deftp