#!/bin/bash # # $Header: /home/cvsd/alx-cvs/alx-src/alxinstall-ng/functions/findhdd.sh,v 1.3 2008-06-27 22:32:52 niro Exp $ # ### partitionen auslesen in proc while read major minor blocks name blurp do case "${name}" in hd?) idedisks="$idedisks /dev/${name}" ;; sd?) scsidisks="$scsidisks /dev/${name}" ;; ide*) ide="$ide $name" ;; sc*) scsi="$scsi $name" ;; esac done << EOF $(cat /proc/partitions) EOF ### ergebnis $ide ist ide/host0/bus0 ... ### ermitteln des device link namens: if [[ ! -z ${ide} ]] then for i in ${ide} do devs=$(ls /dev/hd?) for x in ${devs} do devname="$(readlink $x)" [[ ${i} = ${devname} ]] && idedisks="${idedisks} ${x}" done done fi ### ergebnis $scsi ist scsi/host0/bus0 ... ### ermitteln des device link namens: if [[ ! -z ${scsi} ]] then for i in ${scsi} do devs=$(ls /dev/sd?) for x in ${devs} do devname="$(readlink ${x})" [[ ${i} = ${devname} ]] && scsidisks="${scsidisks} ${x}" done done fi ### device name des cdroms rausfinden ## ermitteln des device ## ## link nach /dev/cdrom/cdromX ## cdrom="$(readlink /dev/cdrom)" ## link nach dem hostcontroller ## cdrom="$(readlink /dev/${cdrom} | sed -e 's/..\///')" ### ide devices nach cdrom durchsuchen: if [[ ! -z ${idedisks} ]] then for i in ${idedisks} do idehost="$(readlink ${i})" [[ ${idehost} = ${cdrom} ]] && cdromdev="${cdromdev} ${i}" done fi ### scsi devices nach cdrom durchsuchen: if [[ ! -z ${scsidisks} ]] then for i in ${scsidisks} do scsihost="$(readlink ${x})" [[ ${scsihost} = ${cdrom} ]] && cdromdev="${cdromdev} ${i}" done fi #echo "idedisks: $idedisks" #echo "scsidisks: $scsidisks" #echo "cdromdev: $cdromdev" # mhm doesn't work with udev any longer, # need to fix this ... # 'unset cdromdev' should solve this issue temporally unset cdromdev