diff options
author | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-05-20 20:45:00 +0200 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-05-23 23:38:52 +0200 |
commit | 169cbd808aa712a355173609fe309ef1b83140fa (patch) | |
tree | 56395fab8e25503b7a4f03e368151f7d7ff877ba /gnu/build | |
parent | ec81488b93ca9a9af6487e422eeeaf998e5bc505 (diff) | |
download | guix-169cbd808aa712a355173609fe309ef1b83140fa.tar.gz |
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.
Diffstat (limited to 'gnu/build')
-rw-r--r-- | gnu/build/linux-boot.scm | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index f20eeaac9f..7d1b3ee835 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -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, 2019–2021 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. |