diff options
author | Aaron Griffin <aaron@archlinux.org> | 2006-05-03 04:02:53 +0200 |
---|---|---|
committer | Aaron Griffin <aaron@archlinux.org> | 2006-05-03 04:02:53 +0200 |
commit | ad1050964eabbbc00547e8c6c91d8a7c3f13598f (patch) | |
tree | 79962456d502bbbb8a072568f31bd18e99b85099 /hooks/modload | |
parent | 66f28ea341f293cbddd30242f9ea03673d4674d2 (diff) | |
download | mkinitcpio-ad1050964eabbbc00547e8c6c91d8a7c3f13598f.tar.gz mkinitcpio-ad1050964eabbbc00547e8c6c91d8a7c3f13598f.tar.xz |
Merged autodetect changes from tpowa.
Removed older subsystem specific scripts, replaced then
with 'modload' just to keep the option in place.
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@43 880c04e9-e011-0410-abf7-b926e227c9cd
Diffstat (limited to 'hooks/modload')
-rw-r--r-- | hooks/modload | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/hooks/modload b/hooks/modload new file mode 100644 index 0000000..6cf4037 --- /dev/null +++ b/hooks/modload @@ -0,0 +1,48 @@ +# vim:set ft=sh: +run_hook () +{ + msg ":: Begin manual module load" + if [ -e "/sys/bus/pci/" ]; then + msg -n "Loading pci bus modules..." + /bin/modprobe -a -q $(/bin/cat /sys/bus/pci/devices/*/modalias) >/dev/null 2>&1 + msg "done." + fi + + if [ -e "/sys/bus/ide/devices/" ]; then + msg -n "Loading ide modules..." + /bin/modprobe -q -a $(/bin/cat /sys/bus/ide/devices/*/modalias) >/dev/null 2>&1 + msg "done" + fi + + if [ -e "/sys/bus/scsi/devices/" ]; then + msg -n "Loading scsi modules..." + for d in /sys/bus/scsi/devices/*; do + if [ -e "${d}/type" ]; then + read m < "${d}/type" + case "$m" in + 0) /bin/modprobe -q sd_mod 2>&1 >/dev/null ;; + # this below is take from the Arch udev rules + 1) read vendor < "${d}/vendor" + if [ "${vendor}" = "Onstream" ]; then + read model < "${d}/model" + case "$model" in + ADR*) /bin/modprobe -q st >/dev/null 2>&1;; + *) /bin/modprobe -q osst >/dev/null 2>&1;; + esac + else + /bin/modprobe -q st >/dev/null 2>&1 + fi + ;; + 2|3) /bin/modprobe -q sg >/dev/null 2>&1;; + 4|5) /bin/modprobe -q sr_mod >/dev/null 2>&1;; + 6) /bin/modprobe -q sg >/dev/null 2>&1;; + 7) /bin/modprobe -q sd_mod >/dev/null 2>&1;; + 8|9) /bin/modprobe -q sg >/dev/null 2>&1;; + 14) /bin/modprobe -q sd_mod >/dev/null 2>&1;; + esac + fi + done + msg "done." + fi + msg ":: End manual module load" +} |