diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2017-12-16 00:17:03 +0100 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2017-12-16 07:33:12 +0100 |
commit | 86e6b4c93104e2f83429b9e12f15ed62341289b4 (patch) | |
tree | 7679feeb84ef2a77362a4f8add6cbff008e75a18 /gnu | |
parent | 97817e7f18bd3bd95152e46239ad96928678e944 (diff) | |
download | guix-86e6b4c93104e2f83429b9e12f15ed62341289b4.tar guix-86e6b4c93104e2f83429b9e12f15ed62341289b4.tar.gz |
services: base: Use make-static-device-nodes.
Fixes <https://bugs.gnu.org/22050>.
* gnu/services/base.scm (udev-shepherd-service): Use make-static-device-nodes.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/services/base.scm | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 291dd63256..5e08927af3 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1727,6 +1727,17 @@ item of @var{packages}." (setenv "EUDEV_RULES_DIRECTORY" #$(file-append rules "/lib/udev/rules.d")) + (let* ((kernel-release + (utsname:release (uname))) + (linux-module-directory + (getenv "LINUX_MODULE_DIRECTORY")) + (directory + (string-append linux-module-directory "/" + kernel-release)) + (old-umask (umask #o022))) + (make-static-device-nodes directory) + (umask old-umask)) + (let ((pid (primitive-fork))) (case pid ((0) @@ -1750,7 +1761,10 @@ item of @var{packages}." ;; When halting the system, 'udev' is actually killed by ;; 'user-processes', i.e., before its own 'stop' method was called. ;; Thus, make sure it is not respawned. - (respawn? #f))))))) + (respawn? #f) + ;; We need additional modules. + (modules `((gnu build linux-boot) + ,@%default-modules)))))))) (define udev-service-type (service-type (name 'udev) |