Skip to content
Snippets Groups Projects
Commit 081c5b2d authored by Ludovic Courtès's avatar Ludovic Courtès
Browse files

services: udev: Make sure modules are found, and use "udevadm settle".

* gnu/services/base.scm (udev-service): Set $LINUX_MODULE_DIRECTORY.  In
  the parent, invoke "udevadm settle" before "udevadm trigger".
parent 62f0a479
No related branches found
No related tags found
No related merge requests found
......@@ -409,6 +409,10 @@ (define* (udev-service #:key (udev udev))
(requirement '(root-file-system))
(documentation "Populate the /dev directory.")
(start #~(lambda ()
;; Allow udev to find the modules.
(setenv "LINUX_MODULE_DIRECTORY"
"/run/booted-system/kernel/lib/modules")
(let ((pid (primitive-fork)))
(case pid
((0)
......@@ -421,6 +425,9 @@ (define* (udev-service #:key (udev udev))
(execl (string-append #$udev "/libexec/udev/udevd")
"udevd"))
(else
;; Wait for things to settle down.
(system* (string-append #$udev "/bin/udevadm")
"settle")
;; Create a bunch of devices.
(system* (string-append #$udev "/bin/udevadm")
"trigger")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment