2007-03-03 17:16:24 -08:00
|
|
|
{modprobe, doHardwareScan, kernelModules}:
|
2006-11-20 09:28:08 -08:00
|
|
|
|
|
|
|
{
|
|
|
|
name = "hardware-scan";
|
|
|
|
|
2008-02-01 13:50:29 -08:00
|
|
|
job = ''
|
|
|
|
start on udev
|
2006-11-20 09:28:08 -08:00
|
|
|
|
2008-02-01 13:50:29 -08:00
|
|
|
script
|
|
|
|
for i in ${toString kernelModules}; do
|
|
|
|
echo "Loading kernel module $i..."
|
|
|
|
${modprobe}/sbin/modprobe $i || true
|
2006-12-22 15:34:42 -08:00
|
|
|
done
|
|
|
|
|
2008-02-01 13:50:29 -08:00
|
|
|
if test -n "${toString doHardwareScan}" -a ! -e /var/run/safemode; then
|
|
|
|
|
|
|
|
# Try to load modules for all PCI and USB devices.
|
|
|
|
for i in /sys/bus/pci/devices/*/modalias /sys/bus/usb/devices/*/modalias; do
|
|
|
|
echo "Trying to load a module for $(basename $(dirname $i))..."
|
|
|
|
${modprobe}/sbin/modprobe $(cat $i) || true
|
|
|
|
echo ""
|
|
|
|
done
|
2006-11-20 09:28:08 -08:00
|
|
|
|
2008-02-01 13:50:29 -08:00
|
|
|
fi
|
|
|
|
end script
|
|
|
|
'';
|
2006-11-20 09:28:08 -08:00
|
|
|
|
|
|
|
}
|