mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-05-02 00:02:55 +02:00
Kernel ist jetzt noch modularer, da keine IDE/FS-Treiber vorhanden sind. git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@561 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
51 lines
994 B
Bash
51 lines
994 B
Bash
#!/bin/sh
|
|
|
|
echo "Detecting Hardware..."
|
|
for MODULE in $(kudzu -qps -t 30 | grep driver: | cut -d ' ' -f 2 | sort | uniq); do
|
|
if [ "${MODULE}" = "unknown" ] || \
|
|
[ "${MODULE}" = "ignore" ]; then
|
|
continue
|
|
fi
|
|
if grep -Eqe "^${MODULE} " /proc/modules; then
|
|
continue
|
|
fi
|
|
echo -n "Loading ${MODULE}"
|
|
modprobe ${MODULE} >/dev/null 2>&1
|
|
echo " --> ecode: $?"
|
|
done
|
|
|
|
if [ $# -eq 0 ]; then
|
|
exit 0
|
|
fi
|
|
|
|
## If the autodetection fails we will try to load every module...
|
|
## Do this only when we want...
|
|
|
|
for i in a b c d e f g; do
|
|
if [ ! -e /dev/sd$i ]; then
|
|
DEVICE="/dev/sd$i"
|
|
echo "Checking for: $DEVICE"
|
|
break
|
|
fi
|
|
done
|
|
|
|
for MODULE in $(ls /lib/modules/*/kernel/drivers/scsi); do
|
|
MODULE=`basename $MODULE | awk -F. '{ print $1 }'`
|
|
|
|
echo -n "Probing for $MODULE"
|
|
modprobe $MODULE >/dev/null 2>&1
|
|
RETVAL=$?
|
|
echo " --> ecode: $RETVAL"
|
|
if [ "$RETVAL" -eq "0" ]; then
|
|
sleep 3
|
|
if [ -e "$DEVICE" ]; then
|
|
break
|
|
fi
|
|
fi
|
|
|
|
done
|
|
|
|
sleep 5
|
|
|
|
exit 0
|