summaryrefslogtreecommitdiffstats
path: root/init.d/hwdrivers
blob: de3ce504c017404b14a4415356c67ab158204c11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/sbin/runscript

# Load hardware drivers
start() {
	# check for boot option "nocoldplug"
	for i in `cat /proc/cmdline`; do
		case $i in
			modules=*)
				MODULES="`echo ${i#modules=} | tr ',' ' '`";;
			noautodetect)
				AUTODETECT=no;;
		esac

	done

	if [ "$MODULES" ] || [ "$AUTODETECT" != no ] ; then
		ebegin "Loading hardware drivers"
	else
		ebegin "Skipping hardware drivers"
		eend
		return
	fi	
	
	[ "$MODULES" ] && modprobe $MODULES 2> /dev/null

	if [ "$AUTODETECT" != no ] ; then
		find /sys -name modalias | xargs sort | while read a ; do
			modprobe $a 2>/dev/null \
				|| echo $a >> /tmp/hwdrivers.failed
		done
	fi
	eend 0
}