| 1 |
#! /bin/sh
|
| 2 |
|
| 3 |
echo 0 > /proc/sys/kernel/printk
|
| 4 |
# let discover do the work
|
| 5 |
/etc/init.d/discover start
|
| 6 |
|
| 7 |
# load all IDE drivers
|
| 8 |
|
| 9 |
# DMA does not work if we load all modules in drivers/ide, so only try pci modules
|
| 10 |
mod=$(find /lib/modules/$(uname -r)/kernel/drivers/ide/pci -type f | sed 's/\.o$//' | sed 's/\.ko$//' | sed 's/.*\///')
|
| 11 |
for i in $mod; do
|
| 12 |
modprobe $i
|
| 13 |
done
|
| 14 |
unset i
|
| 15 |
|
| 16 |
# load additional kernel modules (from old 11modules.source)
|
| 17 |
# this order should also enable DMA for all IDE drives
|
| 18 |
kernelmodules="rtc floppy usbkbd keybdev mousedev hid ide-detect ide-disk ide-cd isa-pnp"
|
| 19 |
for mod in $kernelmodules; do
|
| 20 |
[ "$verbose" ] && echo loading kernel module $mod
|
| 21 |
modprobe -a $mod
|
| 22 |
done
|
| 23 |
unset mod kernelmodules
|
| 24 |
|
| 25 |
# enable DMA mode on als IDE drives
|
| 26 |
#for disk in $(ls /proc/ide/hd[a-z]/settings 2>/dev/null); do
|
| 27 |
# echo $disk
|
| 28 |
# echo "using_dma:1" > $disk
|
| 29 |
#done
|
| 30 |
# unset disk
|
| 31 |
|
| 32 |
modprobe -a sd_mod sr_mod
|
| 33 |
# are any SCSI devices attached?
|
| 34 |
if grep -q "^Attached devices: none" /proc/scsi/scsi; then
|
| 35 |
:
|
| 36 |
else
|
| 37 |
newclasses="SCSI $newclasses"
|
| 38 |
# we want also get the filename in front of each line. So do not use cat, use grep
|
| 39 |
[ "$verbose" ] && cat /proc/scsi/scsi
|
| 40 |
[ "$debug" ] && grep -H . /proc/scsi/*/*
|
| 41 |
fi
|
| 42 |
echo 6 > /proc/sys/kernel/printk
|
| 43 |
|
| 44 |
set_disk_info # calculate number of available disks
|
| 45 |
save_dmesg # save new boot messages (from loading modules)
|
| 46 |
|
| 47 |
# try to detect graphics card
|
| 48 |
video=`discover --data-path=xfree86/server/device/driver display`
|
| 49 |
case "$video" in
|
| 50 |
mga) newclasses="$newclasses MATROX"
|
| 51 |
esac
|
| 52 |
unset video
|