Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1576 - (hide annotations) (download) (as text)
Mon Oct 18 13:20:33 2010 UTC (13 years, 6 months ago) by niro
File MIME type: application/x-sh
File size: 2191 byte(s)
-remove bootdevices from install list
1 niro 258 #!/bin/bash
2     #
3 niro 521 # $Header: /home/cvsd/alx-cvs/alx-src/alxinstall-ng/functions/findhdd.sh,v 1.3 2008-06-27 22:32:52 niro Exp $
4 niro 258 #
5    
6 niro 1576 # initialize values
7     idedisks=""
8     scsidisks=""
9     ide=""
10     scsi=""
11     cdromdev=""
12     bootdev=""
13    
14 niro 258 ### partitionen auslesen in proc
15     while read major minor blocks name blurp
16     do
17 niro 521 case "${name}" in
18     hd?) idedisks="$idedisks /dev/${name}" ;;
19     sd?) scsidisks="$scsidisks /dev/${name}" ;;
20     ide*) ide="$ide $name" ;;
21     sc*) scsi="$scsi $name" ;;
22     esac
23 niro 258 done << EOF
24     $(cat /proc/partitions)
25     EOF
26    
27    
28     ### ergebnis $ide ist ide/host0/bus0 ...
29     ### ermitteln des device link namens:
30 niro 521 if [[ ! -z ${ide} ]]
31 niro 258 then
32 niro 521 for i in ${ide}
33 niro 258 do
34 niro 521 devs=$(ls /dev/hd?)
35     for x in ${devs}
36 niro 258 do
37 niro 521 devname="$(readlink $x)"
38     [[ ${i} = ${devname} ]] && idedisks="${idedisks} ${x}"
39 niro 258 done
40     done
41     fi
42    
43    
44     ### ergebnis $scsi ist scsi/host0/bus0 ...
45     ### ermitteln des device link namens:
46 niro 521 if [[ ! -z ${scsi} ]]
47 niro 258 then
48 niro 521 for i in ${scsi}
49 niro 258 do
50 niro 521 devs=$(ls /dev/sd?)
51     for x in ${devs}
52 niro 258 do
53 niro 521 devname="$(readlink ${x})"
54     [[ ${i} = ${devname} ]] && scsidisks="${scsidisks} ${x}"
55 niro 258 done
56     done
57     fi
58    
59     ### device name des cdroms rausfinden
60    
61     ## ermitteln des device ##
62     ## link nach /dev/cdrom/cdromX ##
63 niro 521 cdrom="$(readlink /dev/cdrom)"
64 niro 258 ## link nach dem hostcontroller ##
65 niro 521 cdrom="$(readlink /dev/${cdrom} | sed -e 's/..\///')"
66 niro 258 ### ide devices nach cdrom durchsuchen:
67 niro 521 if [[ ! -z ${idedisks} ]]
68 niro 258 then
69 niro 521 for i in ${idedisks}
70 niro 258 do
71 niro 521 idehost="$(readlink ${i})"
72     [[ ${idehost} = ${cdrom} ]] && cdromdev="${cdromdev} ${i}"
73 niro 258 done
74     fi
75    
76     ### scsi devices nach cdrom durchsuchen:
77 niro 521 if [[ ! -z ${scsidisks} ]]
78 niro 258 then
79 niro 521 for i in ${scsidisks}
80 niro 258 do
81 niro 521 scsihost="$(readlink ${x})"
82     [[ ${scsihost} = ${cdrom} ]] && cdromdev="${cdromdev} ${i}"
83 niro 258 done
84     fi
85    
86 niro 1576
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 niro 258 #echo "idedisks: $idedisks"
96     #echo "scsidisks: $scsidisks"
97     #echo "cdromdev: $cdromdev"
98    
99 niro 262 # mhm doesn't work with udev any longer,
100     # need to fix this ...
101     # 'unset cdromdev' should solve this issue temporally
102 niro 258 unset cdromdev