guix-commits
[Top][All Lists]
Advanced

[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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]