Annotation of /alx-src/trunk/alxinstall-ng/functions/findhdd.sh
Parent Directory | 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)
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 |