diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-11-26 11:58:06 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-11-26 11:58:06 +0100 |
commit | 67979e42c3983eb59d395905a32bb51ad9a25c24 (patch) | |
tree | 57c28897b992868160173d414c502b0bbd687e1b | |
parent | 76bacc826422073a9a6546fb5383c9a0cd8e5dae (diff) | |
download | guix-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.
-rw-r--r-- | gnu/build/linux-boot.scm | 14 |
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)) |