diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-04-15 11:30:50 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-04-15 12:24:14 +0200 |
commit | 3f03a198b2f1ad7ff6f1d53c287c36011024d67c (patch) | |
tree | c1c4d015ce3a659f3906589549d3e811cfb59f18 | |
parent | 2c6c002ab7d23d21d592f3c3d1534c6791db2e72 (diff) | |
download | guix-3f03a198b2f1ad7ff6f1d53c287c36011024d67c.tar.gz |
system: Add 'label' field to <operating-system>.
* gnu/system.scm (<operating-system>)[label]: New field. (operating-system-default-label): New procedure. (operating-system-boot-parameters): Use it instead of 'kernel->boot-label'. * doc/guix.texi (operating-system Reference): Document it.
-rw-r--r-- | doc/guix.texi | 4 | ||||
-rw-r--r-- | gnu/system.scm | 12 |
2 files changed, 15 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 5fefc1af4f..1ae5711c02 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10436,6 +10436,10 @@ the command-line of the kernel---e.g., @code{("console=ttyS0")}. @item @code{bootloader} The system bootloader configuration object. @xref{Bootloader Configuration}. +@item @code{label} +This is the label (a string) as it appears in the bootloader's menu entry. +The default label includes the kernel name and version. + @item @code{keyboard-layout} (default: @code{#f}) This field specifies the keyboard layout to use in the console. It can be either @code{#f}, in which case the default keyboard layout is used (usually diff --git a/gnu/system.scm b/gnu/system.scm index 2abb1fefff..24243eb707 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -78,6 +78,8 @@ operating-system-kernel operating-system-kernel-file operating-system-kernel-arguments + operating-system-label + operating-system-default-label operating-system-initrd-modules operating-system-initrd operating-system-users @@ -160,6 +162,9 @@ (kernel-arguments operating-system-user-kernel-arguments (default '())) ; list of gexps/strings (bootloader operating-system-bootloader) ; <bootloader-configuration> + (label operating-system-label ; string + (thunked) + (default (operating-system-default-label this-operating-system))) (keyboard-layout operating-system-keyboard-layout ;#f | <keyboard-layout> (default #f)) @@ -918,6 +923,11 @@ listed in OS. The C library expects to find it under (inferior-package-version kernel))) (else "GNU"))) +(define (operating-system-default-label os) + "Return the default label for OS, as it will appear in the bootloader menu +entry." + (kernel->boot-label (operating-system-kernel os))) + (define (store-file-system file-systems) "Return the file system object among FILE-SYSTEMS that contains the store." (match (filter (lambda (fs) @@ -966,7 +976,7 @@ such as '--root' and '--load' to <boot-parameters>." (bootloader (bootloader-configuration-bootloader (operating-system-bootloader os))) (bootloader-name (bootloader-name bootloader)) - (label (kernel->boot-label (operating-system-kernel os)))) + (label (operating-system-label os))) (boot-parameters (label label) (root-device root-device) |