diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2017-04-21 14:37:09 +0200 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2017-05-05 15:03:47 +0200 |
commit | 9530e73b496fefe65dcb936825b6beda79f7fdf2 (patch) | |
tree | 096b31fa11ea968b9b3d6cca0a30deaa5e8a0443 /gnu | |
parent | 33f0aa88155ee0718f21e7de24eb539cb9872217 (diff) | |
download | guix-9530e73b496fefe65dcb936825b6beda79f7fdf2.tar.gz |
system: Introduce read-boot-parameters-file.
* gnu/system.scm (read-boot-parameters): Remove export. (read-boot-parameters-file): New variable. Export it. * guix/scripts/system.scm (profile-boot-parameters): Use read-boot-parameters-file. (profile-grub-entries): Use read-boot-parameters-file. (reinstall-grub): Use read-boot-parameters-file. (display-system-generation): Use read-boot-parameters-file.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/system.scm | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/gnu/system.scm b/gnu/system.scm index 37a05b270b..f213379f03 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -109,7 +109,7 @@ boot-parameters-kernel boot-parameters-kernel-arguments boot-parameters-initrd - read-boot-parameters + read-boot-parameters-file local-host-aliases %setuid-programs @@ -907,4 +907,24 @@ being stored into the \"parameters\" file)." system) #f))) +(define (read-boot-parameters-file system) + "Read boot parameters from SYSTEM's (system or generation) \"parameters\" +file and returns the corresponding <boot-parameters> object or #f if the +format is unrecognized. +The object has its kernel-arguments extended in order to make it bootable." + (let* ((file (string-append system "/parameters")) + (params (call-with-input-file file read-boot-parameters)) + (root (boot-parameters-root-device params)) + (root-device (if (bytevector? root) + (uuid->string root) + root)) + (kernel-arguments (boot-parameters-kernel-arguments params))) + (if params + (boot-parameters + (inherit params) + (kernel-arguments (bootable-kernel-arguments kernel-arguments + system + root-device))) + #f))) + ;;; system.scm ends here |