aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-11-26 11:58:06 +0100
committerLudovic Courtès <ludo@gnu.org>2014-11-26 11:58:06 +0100
commit67979e42c3983eb59d395905a32bb51ad9a25c24 (patch)
tree57c28897b992868160173d414c502b0bbd687e1b /gnu
parent76bacc826422073a9a6546fb5383c9a0cd8e5dae (diff)
downloadguix-67979e42c3983eb59d395905a32bb51ad9a25c24.tar
guix-67979e42c3983eb59d395905a32bb51ad9a25c24.tar.gz
linux-boot: Call 'pre-mount' before 'mount-root-file-system'.
Partly fixes <http://bugs.gnu.org/19190>. Reported by Nikita Karetnikov <nikita@karetnikov.org>. * gnu/build/linux-boot.scm (boot-system): Move PRE-MOUNT call before 'mount-root-file-system' is called.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/linux-boot.scm14
1 files changed, 8 insertions, 6 deletions
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index fa6f417907..3bf3268b23 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -388,6 +388,14 @@ to it are lost."
;; Prepare the real root file system under /root.
(unless (file-exists? "/root")
(mkdir "/root"))
+
+ (when (procedure? pre-mount)
+ ;; Do whatever actions are needed before mounting the root file
+ ;; system--e.g., installing device mappings. Error out when the
+ ;; return value is false.
+ (unless (pre-mount)
+ (error "pre-mount actions failed")))
+
(if root
(mount-root-file-system (canonicalize-device-spec root)
root-fs-type
@@ -398,12 +406,6 @@ to it are lost."
(mkdir "/root/dev")
(make-essential-device-nodes #:root "/root"))
- (when (procedure? pre-mount)
- ;; Do whatever actions are needed before mounting--e.g., installing
- ;; device mappings. Error out when the return value is false.
- (unless (pre-mount)
- (error "pre-mount actions failed")))
-
;; Mount the specified file systems.
(for-each mount-file-system
(remove root-mount-point? mounts))