me
/
guix
Archived
1
0
Fork 0

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".
master
Ludovic Courtès 2014-06-29 22:06:29 +02:00
parent 62f0a4792b
commit 081c5b2d66
1 changed files with 7 additions and 0 deletions

View File

@ -409,6 +409,10 @@ hydra.gnu.org are used by default."
(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 @@ hydra.gnu.org are used by default."
(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")