| 1 |
lange |
2688 |
#! /bin/bash |
| 2 |
|
|
|
| 3 |
|
|
# (c) Thomas Lange, 2002-2005, lange@informatik.uni-koeln.de |
| 4 |
|
|
|
| 5 |
|
|
# NOTE: Files named *.source will be evaluated, but their output ignored and instead |
| 6 |
|
|
# the contents of $newclasses will be added to the list of defined classes. |
| 7 |
|
|
|
| 8 |
|
|
echo 0 > /proc/sys/kernel/printk |
| 9 |
|
|
|
| 10 |
|
|
# load all IDE drivers |
| 11 |
|
|
|
| 12 |
|
|
# DMA does not work if we load all modules in drivers/ide, so only try pci modules |
| 13 |
|
|
mod=$(find /lib/modules/$(uname -r)/kernel/drivers/ide/pci -type f | sed 's/\.o$//' | sed 's/\.ko$//' | sed 's/.*\///') |
| 14 |
|
|
for i in $mod; do |
| 15 |
|
|
modprobe $i 1>/dev/null 2>&1 |
| 16 |
|
|
done |
| 17 |
|
|
# Booting from CD does not enable dma always |
| 18 |
|
|
for d in $( echo /proc/ide/hd[a-z] 2>/dev/null); do |
| 19 |
|
|
[ -d $d ] && echo "using_dma:1" > $d/settings |
| 20 |
|
|
done |
| 21 |
|
|
|
| 22 |
|
|
# load additional kernel modules (from old 11modules.source) |
| 23 |
|
|
# this order should also enable DMA for all IDE drives |
| 24 |
|
|
kernelmodules="rtc floppy usbkbd ide-disk ide-cd" |
| 25 |
|
|
case $(uname -r) in |
| 26 |
|
|
2.4*) kernelmodules="$kernelmodules keybdev mousedev hid ide-detect isa-pnp" ;; |
| 27 |
|
|
2.6*) kernelmodules="$kernelmodules usbhid usbmouse ide-generic" ;; |
| 28 |
|
|
esac |
| 29 |
|
|
|
| 30 |
|
|
for mod in $kernelmodules; do |
| 31 |
|
|
[ "$verbose" ] && echo loading kernel module $mod |
| 32 |
lange |
2689 |
modprobe -a $mod 1>/dev/null 2>&1 |
| 33 |
lange |
2688 |
done |
| 34 |
|
|
|
| 35 |
|
|
# let discover do most of the job |
| 36 |
lange |
3275 |
[ -x /etc/init.d/discover ] && /etc/init.d/discover start |
| 37 |
lange |
2688 |
|
| 38 |
|
|
# now we can mount the usb file system |
| 39 |
|
|
mount -t usbfs usbfs /proc/bus/usb |
| 40 |
|
|
|
| 41 |
|
|
modprobe -a sd_mod sr_mod |
| 42 |
lange |
2689 |
|
| 43 |
lange |
2688 |
echo 6 > /proc/sys/kernel/printk |
| 44 |
|
|
|
| 45 |
|
|
# try to detect graphics card |
| 46 |
|
|
# the variable videodrv may be used to generate the XF86config file |
| 47 |
lange |
3275 |
[ -x "$(which discover)" ] && { |
| 48 |
|
|
if discover --version | grep "discover \(version \)*1\." ; then |
| 49 |
|
|
videodrv=$(discover --xdriver video 2> /dev/null) |
| 50 |
|
|
else |
| 51 |
|
|
videodrv=$(discover --data-path=xfree86/server/device/driver display) |
| 52 |
|
|
fi |
| 53 |
|
|
[ -n "$videodrv" ] && echo "videodrv=$videodrv" >> $LOGDIR/additional.var |
| 54 |
|
|
echo "Video card detected: $videodrv" |
| 55 |
|
|
} |
| 56 |
lange |
2688 |
|
| 57 |
|
|
set_disk_info # calculate number of available disks |
| 58 |
|
|
save_dmesg # save new boot messages (from loading modules) |
| 59 |
lange |
2689 |
|