mirror of
https://github.com/troglobit/finit.git
synced 2026-10-01 05:22:48 +07:00
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>
12 lines
378 B
Bash
Executable File
12 lines
378 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# With the daemon mode ('mdev -df') we no longer need the hotplug helper
|
|
echo "" > /proc/sys/kernel/hotplug
|
|
|
|
# Wait for 'mdev -df' to set up its event queue.
|
|
sleep 1
|
|
|
|
# Trigger 'add' event for all devices and subsystems to load all modules
|
|
# and any firmware needed by the hardware.
|
|
find /sys/devices -name uevent -print | while IFS='' read X; do echo add > $X; done
|