me
/
guix
Archived
1
0
Fork 0

gnu: Respect the root file-system's CHECK? field.

* gnu/build/linux-boot.scm (mount-root-file-system): Take a new #:CHECK?
keyword argument.  Add it to the docstring.  Conditionally call
CHECK-FILE-SYSTEM.
(boot-system): Adjust its only caller to pass the <file-system>'s CHECK?
option through, if available.
master
Tobias Geerinckx-Rice 2021-05-20 20:45:00 +02:00
parent ec81488b93
commit 169cbd808a
No known key found for this signature in database
GPG Key ID: 0DB0FF884F556D79
1 changed files with 11 additions and 5 deletions

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017, 20192021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
@ -411,11 +411,13 @@ the last argument of `mknod'."
(filter-map string->number (scandir "/proc")))))
(define* (mount-root-file-system root type
#:key volatile-root? (flags 0) options)
#:key volatile-root? (flags 0) options
check?)
"Mount the root file system of type TYPE at device ROOT. If VOLATILE-ROOT? is
true, mount ROOT read-only and make it an overlay with a writable tmpfs using
the kernel built-in overlayfs. FLAGS and OPTIONS indicates the options to use
to mount ROOT, and behave the same as for the `mount' procedure."
to mount ROOT, and behave the same as for the `mount' procedure.
If CHECK? is true, first run ROOT's fsck tool (if any) non-interactively."
(if volatile-root?
(begin
@ -436,7 +438,8 @@ to mount ROOT, and behave the same as for the `mount' procedure."
(mount "none" "/root" "overlay" 0
"lowerdir=/real-root,upperdir=/rw-root/upper,workdir=/rw-root/work"))
(begin
(check-file-system root type)
(when check?
(check-file-system root type))
(mount root "/root" type flags options)))
;; Make sure /root/etc/mtab is a symlink to /proc/self/mounts.
@ -600,7 +603,10 @@ upon error."
root-fs-type
#:volatile-root? volatile-root?
#:flags root-fs-flags
#:options root-options)
#:options root-options
#:check? (if root-fs
(file-system-check? root-fs)
#t))
(mount "none" "/root" "tmpfs"))
;; Mount the specified file systems.