diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2017-04-21 14:37:08 +0200 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2017-05-05 15:03:47 +0200 |
commit | 33f0aa88155ee0718f21e7de24eb539cb9872217 (patch) | |
tree | 954945408da5bc07a4f68b580030ab6d966c7f49 /gnu/system.scm | |
parent | 40fad1c24ce60076e26f6dc8096e4716d31d90c3 (diff) | |
download | guix-33f0aa88155ee0718f21e7de24eb539cb9872217.tar guix-33f0aa88155ee0718f21e7de24eb539cb9872217.tar.gz |
system: Introduce operating-system-kernel-arguments and use it.
* gnu/system.scm (bootable-kernel-arguments): New variable.
(operating-system-kernel-arguments): New variable.
(operating-system-bootcfg): Use operating-system-kernel-arguments.
(operating-system-boot-parameters): Use operating-system-kernel-arguments.
Diffstat (limited to 'gnu/system.scm')
-rw-r--r-- | gnu/system.scm | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/gnu/system.scm b/gnu/system.scm index cb7c1b0cec..37a05b270b 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -73,7 +73,7 @@ operating-system-hosts-file operating-system-kernel operating-system-kernel-file - operating-system-user-kernel-arguments + operating-system-kernel-arguments operating-system-initrd operating-system-users operating-system-groups @@ -122,6 +122,14 @@ ;;; ;;; Code: +(define (bootable-kernel-arguments kernel-arguments system.drv root-device) + "Prepend extra arguments to KERNEL-ARGUMENTS that allow SYSTEM.DRV to be +booted from ROOT-DEVICE" + (cons* (string-append "--root=" root-device) + #~(string-append "--system=" #$system.drv) + #~(string-append "--load=" #$system.drv "/boot") + kernel-arguments)) + ;; System-wide configuration. ;; TODO: Add per-field docstrings/stexi. (define-record-type* <operating-system> operating-system @@ -182,6 +190,13 @@ (sudoers-file operating-system-sudoers-file ; file-like (default %sudoers-specification))) +(define (operating-system-kernel-arguments os system.drv root-device) + "Return all the kernel arguments, including the ones not specified +directly by the user." + (bootable-kernel-arguments (operating-system-user-kernel-arguments os) + system.drv + root-device)) + ;;; ;;; Services. @@ -756,7 +771,9 @@ populate the \"old entries\" menu." #~(string-append "--system=" #$system) #~(string-append "--load=" #$system "/boot") - (operating-system-user-kernel-arguments os))) + (operating-system-kernel-arguments os + system + root-device))) (initrd initrd))))) (grub-configuration-file (operating-system-bootloader os) entries #:old-entries old-entries))) @@ -781,7 +798,9 @@ SYSTEM is optional. If given, adds kernel arguments for that system to <boot-pa (root-device root-device) (kernel (operating-system-kernel-file os)) (kernel-arguments - (operating-system-user-kernel-arguments os)) + (if system + (operating-system-kernel-arguments os system root-device) + (operating-system-user-kernel-arguments os))) (initrd initrd) (store-device (fs->boot-device store)) (store-mount-point (file-system-mount-point store)))))) |