~ruther/guix-local

b1995341ce803c396068a6e41f8cd64b09bbf2f6 — Ludovic Courtès 12 years ago 538cc2e
linux-initrd: Update /etc/mtab.

* guix/build/linux-initrd.scm (mount-root-file-system): Populate
  /root/etc/mtab.
  (mount-file-system): Update ROOT/etc/mtab.
1 files changed, 11 insertions(+), 2 deletions(-)

M guix/build/linux-initrd.scm
M guix/build/linux-initrd.scm => guix/build/linux-initrd.scm +11 -2
@@ 228,7 228,9 @@ UNIONFS."
    (lambda args
      (format (current-error-port) "exception while mounting '~a': ~s~%"
              root args)
      (start-repl))))
      (start-repl)))

  (copy-file "/proc/mounts" "/root/etc/mtab"))

(define (check-file-system device type)
  "Run a file system check of TYPE on DEVICE."


@@ 279,7 281,14 @@ run a file system check."
       (mount source mount-point type (flags->bit-mask flags)
              (if options
                  (string->pointer options)
                  %null-pointer))))))
                  %null-pointer))

       ;; Update /etc/mtab.
       (mkdir-p (string-append root "/etc"))
       (let ((port (open-output-file (string-append root "/etc/mtab"))))
         (format port "~a ~a ~a ~a 0 0~%"
                 source mount-point type options)
         (close-port port))))))

(define (switch-root root)
  "Switch to ROOT as the root file system, in a way similar to what