summary refs log tree commit diff
path: root/gnu/build/linux-boot.scm
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/build/linux-boot.scm
parent76bacc826422073a9a6546fb5383c9a0cd8e5dae (diff)
downloadguix-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/build/linux-boot.scm')
-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))