blob: 87551ff4a9bc618b1567df63eab1d44ff0da0587 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001#!/bin/sh
2# Copyright (C) 2011, 2012 O.S. Systems Software LTDA.
3# Licensed on MIT
4
5udev_shutdown_hook_handler() {
6 status=$1
7 module=$2
8 if [ "$status" = "pre" ] && [ "$module" = "finish" ]; then
Brad Bishop6ef32652018-10-09 18:59:25 +01009 udevadm settle
Patrick Williamsc124f4f2015-09-15 14:41:29 -050010 killall `basename $_UDEV_DAEMON` 2>/dev/null
11 fi
12}
13
14udev_daemon() {
15 OPTIONS="/sbin/udev/udevd /sbin/udevd /lib/udev/udevd /lib/systemd/systemd-udevd"
16
17 for o in $OPTIONS; do
18 if [ -x "$o" ]; then
19 echo $o
20 return 0
21 fi
22 done
23
24 return 1
25}
26
27_UDEV_DAEMON=`udev_daemon`
28
29udev_enabled() {
30 if [ -z "$_UDEV_DAEMON" ]; then
31 msg "WARNING: Cannot find the udev daemon; daemon will not be started in initramfs."
32 return 1
33 fi
34
35 return 0
36}
37
38udev_run() {
39 add_module_pre_hook "udev_shutdown_hook_handler"
40
41 mkdir -p /run
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050042 mkdir -p /var/run
Patrick Williamsc124f4f2015-09-15 14:41:29 -050043
44 $_UDEV_DAEMON --daemon
45 udevadm trigger --action=add
46 udevadm settle
47}