Fix #367: add support for mdev's netlink daemon mode

This commit replaces the `mdev -s` call to populate the device tree with
the "new" `mdev -df` daemon mode, introduced in BusyBox 1.31.0, 2019.

In daemon mode mdev listens to kernel uevents, replacing the hotplug use
of mdev.  After creating the netlink socket, 'mdev -df' performs the same
initial scan as 'mdev -s' did.

To perform device (re)discovery, module loading and setup, including any
firmware loading, a coldplug operation is typically required.  This is
done by the new /libexec/finit/coldplug script, by Alexander Zangerl.

Unlike 'mdevadm settle', mdev does not offer any mechanism to detect when
the discovery operation is done: on slower systems the triggering side,
the coldplug script, often completes quite a bit earlier than mdev's
uevent processing.  I.e., depending on <run/coldplug/success> is not an
indicator of all devices having been (re)discovered and fully set up.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg committed 2023-10-22 11:49:29 +02:00
1 parent f27998ae4f
commit 43d9e25ba7
6 files changed
+59 -19

No files matched your search

+3 -1
View File
@@ -1,8 +1,10 @@
EXTRA_DIST = 10-hotplug.conf.in
systemdir = $(system_path)
system_DATA =
dist_system_DATA =
if BUILD_HOTPLUG_PLUGIN
dist_system_DATA += 10-hotplug.conf
system_DATA += 10-hotplug.conf
endif
if BUILD_TESTSERV_PLUGIN