]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/install+setup/install/mountdest.sh
Merge remote-tracking branch 'origin/next' into thirteen
[people/teissler/ipfire-2.x.git] / src / install+setup / install / mountdest.sh
index 8e2b600ccc5803e4830a37245c0836f797e80975..068659cca033b6f964e9a3774d76c83e46beed4b 100644 (file)
 #                                                                             #
 ###############################################################################
 
+# Set histchars to an empty string so we are able to replace an
+# exclamation mark.
+histchars=
+
 echo "Scanning for possible destination drives"
 
 function _mount() {
@@ -68,32 +72,53 @@ for path in /sys/block/*; do
                fd*)
                        continue
                        ;;
+               # Cd/Tape.
+               sr*)
+                       continue
+                       ;;
        esac
 
+       # Replace any exclamation marks (e.g. cciss!c0d0).
+       device_=${device//!/\/}
+
        # Guess if this could be a raid device.
-       for dev in ${device} ${device}p1; do
+       for dev in ${device_} ${device_}p1; do
                if [ -e "/dev/${dev}" ]; then
                        device=${dev}
                        break
                fi
        done
 
-       echo "Checking ${device}"
-       if check_source_drive ${device}; then
+       echo "Checking ${device_}"
+       if check_source_drive ${device_}; then
                echo "  is source drive - skipping"
                continue
        fi
 
+       if [ $(cat /sys/block/${device}/size) == 0 ]; then
+               echo "  is empty - skipping"
+               continue
+       fi
+
        # Found it.
        echo "  OK, this is it..."
-       echo -n "${device}" > /tmp/dest_device
+       echo -n "${device_}" > /tmp/dest_device
+
+       # Build string with drive details
+       echo -n "/dev/${device_} (" > /tmp/dest_device_info
+       # size is in sectors (512 Bytes)
+       let DISK_SIZE=$(cat /sys/block/${device}/size)/2097152
+       echo -n "$DISK_SIZE GB - " >> /tmp/dest_device_info
+       echo -n "$(cat /sys/block/${device}/device/vendor) " >> /tmp/dest_device_info
+       echo -n "$(cat /sys/block/${device}/device/model) " >> /tmp/dest_device_info
+       echo -n "$(cat /sys/block/${device}/device/rev))" >> /tmp/dest_device_info
 
        # Exit code table:
        #  1: sda
        #  2: RAID
        # 10: nothing found
-       case "${device}" in
-               *p1)
+       case "${device_}" in
+               *p1|*c0d0)
                        exit 2
                        ;;
                *)