mirror of
https://github.com/troglobit/finit.git
synced 2026-10-01 05:22:48 +07:00
Prefer udev to handle /dev if mdev is also available on the system
Some systems, usually those built around BusyBox, have mdev installed but have an option to install udev. In those cases the user likely prefers to use udev over mdev and this patch addresses that. Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
+21
-20
@@ -374,31 +374,32 @@ int main(int argc, char* argv[])
|
||||
|
||||
/*
|
||||
* Populate /dev and prepare for runtime events from kernel.
|
||||
* Prefer udev if mdev is also available on the system.
|
||||
*/
|
||||
path = which("mdev");
|
||||
path = which("udevd");
|
||||
if (!path)
|
||||
path = which("/lib/systemd/systemd-udevd");
|
||||
if (path) {
|
||||
/* Embedded Linux systems usually have BusyBox mdev */
|
||||
if (log_is_debug())
|
||||
touch("/dev/mdev.log");
|
||||
|
||||
snprintf(cmd, sizeof(cmd), "%s -s", path);
|
||||
} else {
|
||||
/* Desktop and server distros usually have a variant of udev */
|
||||
path = which("udevd");
|
||||
if (!path)
|
||||
path = which("/lib/systemd/systemd-udevd");
|
||||
udev = 1;
|
||||
|
||||
/* Register udevd as a monitored service, started much later */
|
||||
snprintf(cmd, sizeof(cmd), "[12345] %s -- Device event manager daemon", path);
|
||||
if (service_register(SVC_TYPE_SERVICE, cmd, global_rlimit, NULL)) {
|
||||
_pe("Failed registering %s", path);
|
||||
udev = 0;
|
||||
}
|
||||
|
||||
/* Start a temporary udevd instance to populate /dev */
|
||||
snprintf(cmd, sizeof(cmd), "%s --daemon", path);
|
||||
} else {
|
||||
path = which("mdev");
|
||||
if (path) {
|
||||
udev = 1;
|
||||
/* Embedded Linux systems usually have BusyBox mdev */
|
||||
if (log_is_debug())
|
||||
touch("/dev/mdev.log");
|
||||
|
||||
/* Register udevd as a monitored service, started much later */
|
||||
snprintf(cmd, sizeof(cmd), "[12345] %s -- Device event manager daemon", path);
|
||||
if (service_register(SVC_TYPE_SERVICE, cmd, global_rlimit, NULL)) {
|
||||
_pe("Failed registering %s", path);
|
||||
udev = 0;
|
||||
}
|
||||
|
||||
/* Start a temporary udevd instance to populate /dev */
|
||||
snprintf(cmd, sizeof(cmd), "%s --daemon", path);
|
||||
snprintf(cmd, sizeof(cmd), "%s -s", path);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user