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.
This commit is contained in:
Ludovic Courtès 2014-11-26 11:58:06 +01:00
parent 76bacc8264
commit 67979e42c3
1 changed files with 8 additions and 6 deletions

View File

@ -388,6 +388,14 @@ to it are lost."
;; Prepare the real root file system under /root. ;; Prepare the real root file system under /root.
(unless (file-exists? "/root") (unless (file-exists? "/root")
(mkdir "/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 (if root
(mount-root-file-system (canonicalize-device-spec root) (mount-root-file-system (canonicalize-device-spec root)
root-fs-type root-fs-type
@ -398,12 +406,6 @@ to it are lost."
(mkdir "/root/dev") (mkdir "/root/dev")
(make-essential-device-nodes #:root "/root")) (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. ;; Mount the specified file systems.
(for-each mount-file-system (for-each mount-file-system
(remove root-mount-point? mounts)) (remove root-mount-point? mounts))