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.
This commit is contained in:
Danny Milosavljevic 2017-12-16 00:17:03 +01:00
parent 97817e7f18
commit 86e6b4c931
No known key found for this signature in database
GPG key ID: E71A35542C30BAA5

View file

@ -1727,6 +1727,17 @@ (define (wait-for-udevd)
(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 @@ (define (wait-for-udevd)
;; 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)