Contents of /alx-src/tags/alxinstall-ng-0_3_8/functions/findhdd.sh
Parent Directory | Revision Log
Revision 1576 -
(show annotations)
(download)
(as text)
Mon Oct 18 13:20:33 2010 UTC (13 years, 11 months ago) by niro
Original Path: alx-src/trunk/alxinstall-ng/functions/findhdd.sh
File MIME type: application/x-sh
File size: 2191 byte(s)
Mon Oct 18 13:20:33 2010 UTC (13 years, 11 months ago) by niro
Original Path: alx-src/trunk/alxinstall-ng/functions/findhdd.sh
File MIME type: application/x-sh
File size: 2191 byte(s)
-remove bootdevices from install list
1 | #!/bin/bash |
2 | # |
3 | # $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 |
15 | while read major minor blocks name blurp |
16 | do |
17 | 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 | done << EOF |
24 | $(cat /proc/partitions) |
25 | EOF |
26 | |
27 | |
28 | ### ergebnis $ide ist ide/host0/bus0 ... |
29 | ### ermitteln des device link namens: |
30 | if [[ ! -z ${ide} ]] |
31 | then |
32 | for i in ${ide} |
33 | do |
34 | devs=$(ls /dev/hd?) |
35 | for x in ${devs} |
36 | do |
37 | devname="$(readlink $x)" |
38 | [[ ${i} = ${devname} ]] && idedisks="${idedisks} ${x}" |
39 | done |
40 | done |
41 | fi |
42 | |
43 | |
44 | ### ergebnis $scsi ist scsi/host0/bus0 ... |
45 | ### ermitteln des device link namens: |
46 | if [[ ! -z ${scsi} ]] |
47 | then |
48 | for i in ${scsi} |
49 | do |
50 | devs=$(ls /dev/sd?) |
51 | for x in ${devs} |
52 | do |
53 | devname="$(readlink ${x})" |
54 | [[ ${i} = ${devname} ]] && scsidisks="${scsidisks} ${x}" |
55 | done |
56 | done |
57 | fi |
58 | |
59 | ### device name des cdroms rausfinden |
60 | |
61 | ## ermitteln des device ## |
62 | ## link nach /dev/cdrom/cdromX ## |
63 | cdrom="$(readlink /dev/cdrom)" |
64 | ## link nach dem hostcontroller ## |
65 | cdrom="$(readlink /dev/${cdrom} | sed -e 's/..\///')" |
66 | ### ide devices nach cdrom durchsuchen: |
67 | if [[ ! -z ${idedisks} ]] |
68 | then |
69 | for i in ${idedisks} |
70 | do |
71 | idehost="$(readlink ${i})" |
72 | [[ ${idehost} = ${cdrom} ]] && cdromdev="${cdromdev} ${i}" |
73 | done |
74 | fi |
75 | |
76 | ### scsi devices nach cdrom durchsuchen: |
77 | if [[ ! -z ${scsidisks} ]] |
78 | then |
79 | for i in ${scsidisks} |
80 | do |
81 | scsihost="$(readlink ${x})" |
82 | [[ ${scsihost} = ${cdrom} ]] && cdromdev="${cdromdev} ${i}" |
83 | done |
84 | 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" |
96 | #echo "scsidisks: $scsidisks" |
97 | #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 |