You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.1 KiB
45 lines
1.1 KiB
12 years ago
|
#!/bin/sh
|
||
|
|
||
|
. /etc/initrd.d/00-common.sh
|
||
|
|
||
|
is_udev() {
|
||
|
[ -x "${UDEVD}" ] && [ -z "${USE_MDEV}" ] && return 0
|
||
|
return 1
|
||
|
}
|
||
|
|
||
|
is_mdev() {
|
||
|
if [ ! -x "${UDEVD}" ] || [ -n "${USE_MDEV}" ]; then
|
||
|
return 0
|
||
|
fi
|
||
|
return 1
|
||
|
}
|
||
|
|
||
|
devmgr_init() {
|
||
|
if is_udev; then
|
||
|
good_msg "Activating udev"
|
||
|
echo "${UDEVD}" > /proc/sys/kernel/hotplug
|
||
|
echo "" > /sys/kernel/uevent_helper
|
||
|
"${UDEVD}" --daemon --resolve-names=never && \
|
||
|
udevadm trigger --action=add && \
|
||
|
udevadm settle || bad_msg "udevd failed to run"
|
||
|
elif is_mdev; then
|
||
|
good_msg "Activating mdev"
|
||
|
# Serialize hotplug events
|
||
|
touch /dev/mdev.seq
|
||
|
echo "${MDEVD}" > /proc/sys/kernel/hotplug
|
||
|
# Ensure that device nodes are properly configured
|
||
|
"${MDEVD}" -s || bad_msg "mdev -s failed"
|
||
|
else
|
||
|
bad_msg "Cannot find either udev or mdev"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
# Terminate the device manager, this happens right before pivot_root
|
||
|
devmgr_terminate() {
|
||
|
if is_udev; then
|
||
|
udevadm settle
|
||
|
udevadm control --exit || bad_msg "Unable to terminate udevd"
|
||
|
fi
|
||
|
# mdev doesn't require anything, it seems
|
||
|
}
|