# vim:set ft=sh: run_hook () { msg ":: Begin manual module load" if [ -e "/sys/bus/pci/" ]; then msg -n "Loading pci bus modules..." /sbin/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..." /sbin/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) /sbin/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*) /sbin/modprobe -q st >/dev/null 2>&1;; *) /sbin/modprobe -q osst >/dev/null 2>&1;; esac else /sbin/modprobe -q st >/dev/null 2>&1 fi ;; 2|3) /sbin/modprobe -q sg >/dev/null 2>&1;; 4|5) /sbin/modprobe -q sr_mod >/dev/null 2>&1;; 6) /sbin/modprobe -q sg >/dev/null 2>&1;; 7) /sbin/modprobe -q sd_mod >/dev/null 2>&1;; 8|9) /sbin/modprobe -q sg >/dev/null 2>&1;; 14) /sbin/modprobe -q sd_mod >/dev/null 2>&1;; esac fi done msg "done." fi msg ":: End manual module load" }