Magellan Linux

Diff of /alx-src/trunk/alxinstall-ng/functions/findhdd.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

alx-src/branches/unlabeled-1.1.1/alxinstall-ng/functions/findhdd.sh revision 258 by niro, Mon Apr 18 19:01:41 2005 UTC alx-src/trunk/alxinstall-ng/functions/findhdd.sh revision 1576 by niro, Mon Oct 18 13:20:33 2010 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2  #  #
3  # $Header: /home/cvsd/alx-cvs/alx-src/alxinstall-ng/functions/findhdd.sh,v 1.1.1.1 2005-04-18 19:01:41 niro Exp $  # $Header: /home/cvsd/alx-cvs/alx-src/alxinstall-ng/functions/findhdd.sh,v 1.3 2008-06-27 22:32:52 niro Exp $
4  #  #
5    
6    # initialize values
7    idedisks=""
8    scsidisks=""
9    ide=""
10    scsi=""
11    cdromdev=""
12    bootdev=""
13    
14  ### partitionen auslesen in proc  ### partitionen auslesen in proc
15  while read major minor blocks name blurp  while read major minor blocks name blurp
16  do  do
17   case "$name" in   case "${name}" in
18   hd?)   hd?) idedisks="$idedisks /dev/${name}" ;;
19   idedisks="$idedisks /dev/${name}"   sd?) scsidisks="$scsidisks /dev/${name}" ;;
20   ;;   ide*) ide="$ide $name" ;;
21   sd?)   sc*) scsi="$scsi $name" ;;
22   scsidisks="$scsidisks /dev/${name}"   esac
  ;;  
  ide*)  
  ide="$ide $name"  
  ;;  
  sc*)  
  scsi="$scsi $name"  
  ;;  
  esac  
23  done << EOF  done << EOF
24  $(cat /proc/partitions)  $(cat /proc/partitions)
25  EOF  EOF
# Line 27  EOF Line 27  EOF
27    
28  ### ergebnis $ide  ist ide/host0/bus0 ...  ### ergebnis $ide  ist ide/host0/bus0 ...
29  ### ermitteln des device link namens:  ### ermitteln des device link namens:
30  if [ ! -z "$ide" ]  if [[ ! -z ${ide} ]]
31  then  then
32   for I in $ide   for i in ${ide}
33   do   do
34   devs=`ls /dev/hd?`   devs=$(ls /dev/hd?)
35   for K in $devs   for x in ${devs}
36   do   do
37   devname="`readlink $K`"   devname="$(readlink $x)"
38   if [ "$I" ==  "$devname" ]   [[ ${i} =  ${devname} ]] && idedisks="${idedisks} ${x}"
  then  
  idedisks="$idedisks $K"  
  fi  
39   done   done
40   done   done
41  fi  fi
# Line 46  fi Line 43  fi
43    
44  ### ergebnis $scsi  ist scsi/host0/bus0 ...  ### ergebnis $scsi  ist scsi/host0/bus0 ...
45  ### ermitteln des device link namens:  ### ermitteln des device link namens:
46  if [ ! -z "$scsi" ]  if [[ ! -z ${scsi} ]]
47  then  then
48   for I in $scsi   for i in ${scsi}
49   do   do
50   devs=`ls /dev/sd?`   devs=$(ls /dev/sd?)
51   for K in $devs   for x in ${devs}
52   do   do
53   devname="`readlink $K`"   devname="$(readlink ${x})"
54   if [ "$I" ==  "$devname" ]   [[ ${i} =  ${devname} ]] && scsidisks="${scsidisks} ${x}"
  then  
  scsidisks="$scsidisks $K"  
  fi  
55   done   done
56   done   done
57  fi  fi
# Line 66  fi Line 60  fi
60    
61  ## ermitteln des device ##  ## ermitteln des device ##
62  ##  link nach /dev/cdrom/cdromX ##  ##  link nach /dev/cdrom/cdromX ##
63  cdrom="`readlink /dev/cdrom`"  cdrom="$(readlink /dev/cdrom)"
64  ## link nach dem hostcontroller ##  ## link nach dem hostcontroller ##
65  cdrom="`readlink /dev/${cdrom}|sed -e 's/..\///'`"  cdrom="$(readlink /dev/${cdrom} | sed -e 's/..\///')"
66  ### ide devices nach cdrom durchsuchen:  ### ide devices nach cdrom durchsuchen:
67  if [ ! -z "$idedisks" ]  if [[ ! -z ${idedisks} ]]
68  then  then
69   for I in $idedisks   for i in ${idedisks}
70   do   do
71   idehost="`readlink $I`"   idehost="$(readlink ${i})"
72   if [ "$idehost" == "$cdrom" ]   [[ ${idehost} = ${cdrom} ]] && cdromdev="${cdromdev} ${i}"
  then  
  cdromdev="$cdromdev $I"  
  fi  
73   done   done
74  fi  fi
75    
76  ### scsi devices nach cdrom durchsuchen:  ### scsi devices nach cdrom durchsuchen:
77  if [ ! -z "$scsidisks" ]  if [[ ! -z ${scsidisks} ]]
78  then  then
79   for I in $scsidisks   for i in ${scsidisks}
80   do   do
81   scsihost="`readlink $I`"   scsihost="$(readlink ${x})"
82   if [ "$scsihost" == "$cdrom" ]   [[ ${scsihost} = ${cdrom} ]] && cdromdev="${cdromdev} ${i}"
  then  
  cdromdev="$cdromdev $I"  
  fi  
83   done   done
84  fi  fi
85    
86    
87    ### boot device ermitteln und entfernen wenn usbstick oder eine disk ###
88    bootdev=$(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | sed 's:^\(.*\)[0-9]\ /mnt/cdrom.*:\1:')
89    if [[ ! -z ${bootdev} ]]
90    then
91     idedisks=${idedisks//${bootdev}}
92     scsidisks=${scsidisks//${bootdev}}
93    fi
94    
95  #echo "idedisks:  $idedisks"  #echo "idedisks:  $idedisks"
96  #echo "scsidisks: $scsidisks"  #echo "scsidisks: $scsidisks"
97  #echo "cdromdev:  $cdromdev"  #echo "cdromdev:  $cdromdev"
98    
99    # mhm doesn't work with udev any longer,
100    # need to fix this ...
101    # 'unset cdromdev' should solve this issue temporally
102  unset cdromdev  unset cdromdev

Legend:
Removed from v.258  
changed lines
  Added in v.1576