move device managers to hooks
This commit is contained in:
24
hooks/eudev/eudev
Normal file
24
hooks/eudev/eudev
Normal file
@@ -0,0 +1,24 @@
|
||||
# vim: set ft=sh:
|
||||
# shellcheck shell=sh
|
||||
#
|
||||
# false positive
|
||||
# shellcheck disable=2154
|
||||
#
|
||||
# handle_eudev()
|
||||
{
|
||||
print "configuring eudev"
|
||||
|
||||
for _binary in udevd udevadm; do
|
||||
copy_binary "$_binary"
|
||||
done
|
||||
|
||||
mkdir -p "${tmpdir}/lib/udev/rules.d"
|
||||
|
||||
printf "%s\n" \
|
||||
'SUBSYSTEMS=="block", ACTION=="add", RUN+="/bin/device-helper"' \
|
||||
> "${tmpdir}/lib/udev/rules.d/device-helper.rules"
|
||||
|
||||
[ "$monolith" = 1 ] || printf "%s\n" \
|
||||
'ENV{MODALIAS}=="?*", ACTION=="add", RUN+="/bin/modprobe %E{MODALIAS}"' \
|
||||
>> "${tmpdir}/lib/udev/rules.d/device-helper.rules"
|
||||
}
|
15
hooks/eudev/eudev.init
Normal file
15
hooks/eudev/eudev.init
Normal file
@@ -0,0 +1,15 @@
|
||||
# vim: set ft=sh:
|
||||
# shellcheck shell=sh
|
||||
#
|
||||
# false positive
|
||||
# shellcheck disable=2154,2034
|
||||
#
|
||||
# run_eudev()
|
||||
{
|
||||
[ "$break" = devmgr ] && { print "break before run_eudev()"; sh; }
|
||||
|
||||
udevd -N never & eudev_pid="$!"
|
||||
udevadm trigger -c add -t subsystems
|
||||
udevadm trigger -c add -t devices
|
||||
udevadm settle
|
||||
}
|
10
hooks/eudev/eudev.init.late
Normal file
10
hooks/eudev/eudev.init.late
Normal file
@@ -0,0 +1,10 @@
|
||||
# vim: set ft=sh:
|
||||
# shellcheck shell=sh
|
||||
#
|
||||
# false positive
|
||||
# shellcheck disable=2154
|
||||
#
|
||||
# stop_eudev()
|
||||
{
|
||||
kill "$eudev_pid"
|
||||
}
|
Reference in New Issue
Block a user