]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/install+setup/install/probehw.sh
Setup weiter ausgebaut.
[people/pmueller/ipfire-2.x.git] / src / install+setup / install / probehw.sh
CommitLineData
72d80898
MT
1#!/bin/sh
2
ee78a5ef
MT
3echo "Detecting Hardware..."
4for MODULE in $(kudzu -qps -t 30 | grep driver: | cut -d ' ' -f 2 | sort | uniq); do
d0f2cc42
MT
5 if [ "${MODULE}" = "unknown" ] || \
6 [ "${MODULE}" = "ignore" ] || \
7 [ "${MODULE}" = "" ]; then
72d80898 8 continue
d0f2cc42 9 fi
0db33b56
MT
10 MODULE=$(basename $(find /lib/modules -name $(echo $MODULE | sed -e 's/[_-]/*/g')* ) | cut -d. -f1 | head -1 2>/dev/null)
11 [ "${MODULE}" == "" ] && continue
bba7212c 12
d0f2cc42
MT
13 if grep -Eqe "^${MODULE} " /proc/modules; then
14 continue
15 fi
16 echo -n "Loading ${MODULE}"
17 modprobe ${MODULE} >/dev/null 2>&1
ee78a5ef 18 echo " --> ecode: $?"
72d80898
MT
19done
20
51f3b7f5
MT
21sleep 10
22
ee78a5ef
MT
23if [ $# -eq 0 ]; then
24 exit 0
25fi
26
27## If the autodetection fails we will try to load every module...
28## Do this only when we want...
29
30for i in a b c d e f g; do
31 if [ ! -e /dev/sd$i ]; then
32 DEVICE="/dev/sd$i"
33 echo "Checking for: $DEVICE"
34 break
35 fi
36done
37
38for MODULE in $(ls /lib/modules/*/kernel/drivers/scsi); do
39 MODULE=`basename $MODULE | awk -F. '{ print $1 }'`
40
41 echo -n "Probing for $MODULE"
42 modprobe $MODULE >/dev/null 2>&1
43 RETVAL=$?
44 echo " --> ecode: $RETVAL"
45 if [ "$RETVAL" -eq "0" ]; then
46 sleep 3
47 if [ -e "$DEVICE" ]; then
48 break
49 fi
50 fi
51
52done
53
54sleep 5
55
72d80898 56exit 0