#---------------------------------------------------------------------------- # /etc/boot.d/rc010.hddrv # # Creation: 2004-06-26 hs # Last Update: $Id$ #---------------------------------------------------------------------------- begin_script BOOT "loading disk drivers ..." # load hd-modules do_modprobe ext3 do_modprobe_if_exists kernel/fs/ext2 ext2 # load all drivers IDE_USED='no' SATA_USED='no' ATA_USED='no' USB_USED='no' PCMCIA_USED='no' PCMCIA_MODE='unknown' RZ1000_USED='no' [ "$HDDRV_N" -eq 0 ] || for idx in `seq 1 $HDDRV_N`; do eval drv='$HDDRV_'$idx eval opt='$HDDRV_'$idx'_OPTION' case "$drv" in scsi-cd) # load scsi-cdrom modules do_modprobe sr_mod ;; scsi-hd) # load scsi-disk modules do_modprobe sd_mod ;; sata-cd|sata-hd) if [ "$SATA_USED" = "no" ] then SATA_USED='yes' fi case "$drv" in *-cd) do_modprobe sr_mod ;; *-hd) do_modprobe sd_mod ;; esac ;; ata-cd|ata-hd) if [ "$ATA_USED" = "no" ] then ATA_USED='yes' fi case "$drv" in *-cd) do_modprobe sr_mod ;; *-hd) do_modprobe sd_mod ;; esac ;; ide-*) IDE_USED='yes' case "$drv" in *-cd) do_modprobe ide-cd ;; *-hd) do_modprobe ide-disk ;; *-floppy) do_modprobe ide-floppy ;; esac ;; pcmcia-*) if [ "$PCMCIA_USED" = "no" ] then PCMCIA_USED='yes' if [ -f /lib/modules/${kernel_version}/kernel/drivers/ata/pata_pcmcia.ko ] then do_modprobe pata_pcmcia PCMCIA_MODE='scsi' else do_modprobe ide-cs PCMCIA_MODE='ide' fi fi if [ "$PCMCIA_MODE" = "scsi" ] then case "$drv" in *-cd) do_modprobe sr_mod ;; *-hd) do_modprobe sd_mod ;; esac else if [ "$PCMCIA_MODE" = "ide" ] then case "$drv" in *-cd) do_modprobe ide-cd ;; *-hd) do_modprobe ide-disk ;; *-floppy) do_modprobe ide-floppy ;; esac fi fi ;; usb-*) if [ "$USB_USED" = "no" ] then USB_USED='yes' if [ -f /lib/modules/${kernel_version}/kernel/drivers/usb/storage/libusual.ko ] then do_modprobe libusual else do_modprobe scsi_mod do_modprobe usb-libusual if [ -n "$opt" ] then sleep 2 fi fi fi for option in $opt do do_modprobe_if_exists kernel/drivers/usb/storage $option done case "$drv" in *-cd) do_modprobe sr_mod ;; *-hd) do_modprobe sd_mod ;; esac ;; diskonchip) # M-sys DiskOnChip do_modprobe nand do_modprobe diskonchip do_modprobe nftl ;; virtio) # KVM Virtio do_modprobe virtio_pci do_modprobe virtio_blk do_modprobe virtio_balloon ;; xen-hd) # Xen Block Front do_modprobe xen_blkfront ;; *) # other Controllers do_modprobe $drv $opt case "$drv" in rz1000) RZ1000_USED='yes' ;; esac ;; esac case "$drv" in *-cd) do_modprobe isofs ;; esac done if [ "$SATA_USED" = "yes" ] then do_modprobe ahci fi if [ "$ATA_USED" = "yes" ] then do_modprobe ata_generic all_generic_ide=1 # Only load the ISA-Legacy Drivers if both primary and secondary IDE are not occupied yet if [ -z "`grep ^01f0-01f7 /proc/ioports`" -a -z "`grep ^01f0-01f7 /proc/ioports`" ] then do_modprobe pata_legacy fi fi if [ "$IDE_USED" = "yes" ]; then if grep -q 1042100 /proc/bus/pci/devices; then if [ "$RZ1000_USED" = "no" ]; then cat </dev/null 2>&1 /sbin/hdparm -d0 /dev/$drive >/dev/null 2>&1 /sbin/hdparm -X pio0 /dev/$drive >/dev/null 2>&1 fi done fi end_script