diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 55ee5c4b084fcdacdadca1014164c3f03dd29a43..ae12c8e93d5b2bca44915b6135255312d919a0f8 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -25,7 +25,7 @@ (define-module (gnu services base) #:use-module (gnu system linux) ; 'pam-service', etc. #:use-module (gnu packages admin) #:use-module ((gnu packages linux) - #:select (udev kbd)) + #:select (udev kbd e2fsprogs)) #:use-module ((gnu packages base) #:select (glibc-final)) #:use-module (gnu packages package-management) @@ -110,7 +110,14 @@ (define* (file-system-service device target type (start #~(lambda args (let ((device (canonicalize-device-spec #$device '#$title))) #$(if check? - #~(check-file-system device #$type) + #~(begin + ;; Make sure fsck.ext2 & co. can be found. + (setenv "PATH" + (string-append + #$e2fsprogs "/sbin:" + "/run/current-system/profile/sbin:" + (getenv "PATH"))) + (check-file-system device #$type)) #~#t) (mount device #$target #$type 0 #$options)) #t))