[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: system: Fix 'guix system' when root fs is named by UUID.
From: |
Mark H. Weaver |
Subject: |
01/01: system: Fix 'guix system' when root fs is named by UUID. |
Date: |
Sat, 20 Aug 2016 08:50:21 +0000 (UTC) |
mhw pushed a commit to branch master
in repository guix.
commit c52bf877e9352cd9f29afb13fd4f7d39ed38f1a0
Author: Mark H Weaver <address@hidden>
Date: Sat Aug 20 03:49:42 2016 -0400
system: Fix 'guix system' when root fs is named by UUID.
Fixes <https://bugs.gnu.org/23881>.
* guix/scripts/system.scm (previous-grub-entries)
(display-system-generation): Handle the case where the root device is
specified by UUID.
---
guix/scripts/system.scm | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 209ebf9..4b53c3d 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -52,6 +52,7 @@
#:use-module (srfi srfi-35)
#:use-module (srfi srfi-37)
#:use-module (ice-9 match)
+ #:use-module (rnrs bytevectors)
#:export (guix-system
read-operating-system))
@@ -397,6 +398,9 @@ it atomically, and then run OS's activation script."
read-boot-parameters))
(label (boot-parameters-label params))
(root (boot-parameters-root-device params))
+ (root-device (if (bytevector? root)
+ (uuid->string root)
+ root))
(kernel (boot-parameters-kernel params))
(kernel-arguments (boot-parameters-kernel-arguments params)))
(menu-entry
@@ -405,7 +409,7 @@ it atomically, and then run OS's activation script."
(seconds->string time) ")"))
(linux kernel)
(linux-arguments
- (cons* (string-append "--root=" root)
+ (cons* (string-append "--root=" root-device)
#~(string-append "--system=" #$system)
#~(string-append "--load=" #$system "/boot")
kernel-arguments))
@@ -473,18 +477,21 @@ list of services."
#:optional (profile %system-profile))
"Display a summary of system generation NUMBER in a human-readable format."
(unless (zero? number)
- (let* ((generation (generation-file-name profile number))
- (param-file (string-append generation "/parameters"))
- (params (call-with-input-file param-file read-boot-parameters))
- (label (boot-parameters-label params))
- (root (boot-parameters-root-device params))
- (kernel (boot-parameters-kernel params)))
+ (let* ((generation (generation-file-name profile number))
+ (param-file (string-append generation "/parameters"))
+ (params (call-with-input-file param-file read-boot-parameters))
+ (label (boot-parameters-label params))
+ (root (boot-parameters-root-device params))
+ (root-device (if (bytevector? root)
+ (uuid->string root)
+ root))
+ (kernel (boot-parameters-kernel params)))
(display-generation profile number)
(format #t (_ " file name: ~a~%") generation)
(format #t (_ " canonical file name: ~a~%") (readlink* generation))
;; TRANSLATORS: Please preserve the two-space indentation.
(format #t (_ " label: ~a~%") label)
- (format #t (_ " root device: ~a~%") root)
+ (format #t (_ " root device: ~a~%") root-device)
(format #t (_ " kernel: ~a~%") kernel))))
(define* (list-generations pattern #:optional (profile %system-profile))