Contents of /mcore-src/trunk/mcore-install/functions/findhdd.sh
Parent Directory | Revision Log
Revision 1275 -
(show annotations)
(download)
(as text)
Fri Feb 4 22:20:50 2011 UTC (13 years, 2 months ago) by niro
File MIME type: application/x-sh
File size: 2084 byte(s)
Fri Feb 4 22:20:50 2011 UTC (13 years, 2 months ago) by niro
File MIME type: application/x-sh
File size: 2084 byte(s)
- initial release
1 | #!/bin/bash |
2 | # $Id$ |
3 | |
4 | # initialize values |
5 | idedisks="" |
6 | scsidisks="" |
7 | ide="" |
8 | scsi="" |
9 | cdromdev="" |
10 | bootdev="" |
11 | |
12 | ### partitionen auslesen in proc |
13 | while read major minor blocks name blurp |
14 | do |
15 | case "${name}" in |
16 | hd?) idedisks="$idedisks /dev/${name}" ;; |
17 | sd?) scsidisks="$scsidisks /dev/${name}" ;; |
18 | ide*) ide="$ide $name" ;; |
19 | sc*) scsi="$scsi $name" ;; |
20 | esac |
21 | done << EOF |
22 | $(cat /proc/partitions) |
23 | EOF |
24 | |
25 | |
26 | ### ergebnis $ide ist ide/host0/bus0 ... |
27 | ### ermitteln des device link namens: |
28 | if [[ ! -z ${ide} ]] |
29 | then |
30 | for i in ${ide} |
31 | do |
32 | devs=$(ls /dev/hd?) |
33 | for x in ${devs} |
34 | do |
35 | devname="$(readlink $x)" |
36 | [[ ${i} = ${devname} ]] && idedisks="${idedisks} ${x}" |
37 | done |
38 | done |
39 | fi |
40 | |
41 | |
42 | ### ergebnis $scsi ist scsi/host0/bus0 ... |
43 | ### ermitteln des device link namens: |
44 | if [[ ! -z ${scsi} ]] |
45 | then |
46 | for i in ${scsi} |
47 | do |
48 | devs=$(ls /dev/sd?) |
49 | for x in ${devs} |
50 | do |
51 | devname="$(readlink ${x})" |
52 | [[ ${i} = ${devname} ]] && scsidisks="${scsidisks} ${x}" |
53 | done |
54 | done |
55 | fi |
56 | |
57 | ### device name des cdroms rausfinden |
58 | |
59 | ## ermitteln des device ## |
60 | ## link nach /dev/cdrom/cdromX ## |
61 | cdrom="$(readlink /dev/cdrom)" |
62 | ## link nach dem hostcontroller ## |
63 | cdrom="$(readlink /dev/${cdrom} | sed -e 's/..\///')" |
64 | ### ide devices nach cdrom durchsuchen: |
65 | if [[ ! -z ${idedisks} ]] |
66 | then |
67 | for i in ${idedisks} |
68 | do |
69 | idehost="$(readlink ${i})" |
70 | [[ ${idehost} = ${cdrom} ]] && cdromdev="${cdromdev} ${i}" |
71 | done |
72 | fi |
73 | |
74 | ### scsi devices nach cdrom durchsuchen: |
75 | if [[ ! -z ${scsidisks} ]] |
76 | then |
77 | for i in ${scsidisks} |
78 | do |
79 | scsihost="$(readlink ${x})" |
80 | [[ ${scsihost} = ${cdrom} ]] && cdromdev="${cdromdev} ${i}" |
81 | done |
82 | fi |
83 | |
84 | |
85 | ### boot device ermitteln und entfernen wenn usbstick oder eine disk ### |
86 | bootdev=$(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | sed 's:^\(.*\)[0-9]\ /mnt/cdrom.*:\1:') |
87 | if [[ ! -z ${bootdev} ]] |
88 | then |
89 | idedisks=${idedisks//${bootdev}} |
90 | scsidisks=${scsidisks//${bootdev}} |
91 | fi |
92 | |
93 | #echo "idedisks: $idedisks" |
94 | #echo "scsidisks: $scsidisks" |
95 | #echo "cdromdev: $cdromdev" |
96 | |
97 | # mhm doesn't work with udev any longer, |
98 | # need to fix this ... |
99 | # 'unset cdromdev' should solve this issue temporally |
100 | unset cdromdev |