[02/10] Add 'device' field to <menu-entry>
Commit Message
From: Chris Marusich <cmmarusich@gmail.com>
* gnu/system/grub.scm (<menu-entry>): add field 'device'.
* gnu/system.scm (grub-configuration-file): use a dummy value for 'device'.
* guix/scripts/system.scm (previous-grub-entries): use a dummy value for
'device'.
In a future commit, we will restructure the grub.cfg generation logic to use
this information, to enable the implementation of 'guix system
switch-generation' and 'guix system roll-back'.
---
gnu/system.scm | 1 +
gnu/system/grub.scm | 4 +++-
guix/scripts/system.scm | 2 ++
3 files changed, 6 insertions(+), 1 deletion(-)
@@ -736,6 +736,7 @@ listed in OS. The C library expects to find it under
(file-system-device root-fs)))
(entries -> (list (menu-entry
(label label)
+ (device #f) ;; stub value, not used yet
(linux kernel)
(linux-arguments
(cons* (string-append "--root=" root-device)
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -121,6 +122,7 @@ object denoting a file name."
menu-entry make-menu-entry
menu-entry?
(label menu-entry-label)
+ (device menu-entry-device) ; file system uuid, label, or #f
(linux menu-entry-linux)
(linux-arguments menu-entry-linux-arguments
(default '())) ; list of string-valued gexps
@@ -262,7 +264,7 @@ corresponding to old generations of the system."
(define entry->gexp
(match-lambda
- (($ <menu-entry> label linux arguments initrd)
+ (($ <menu-entry> label device linux arguments initrd)
;; Use the right file names for LINUX and STORE-FS in case STORE-FS is
;; not the "/" file system.
(let ((linux (strip-mount-point store-fs linux))
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -384,6 +385,7 @@ it atomically, and then run OS's activation script."
(label (string-append label " (#"
(number->string number) ", "
(seconds->string time) ")"))
+ (device #f) ; stub value, not used yet
(linux kernel)
(linux-arguments
(cons* (string-append "--root=" root-device)