]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/install+setup/install/mountdest.sh
Installer: check md5 of downloaded iso.
[people/pmueller/ipfire-2.x.git] / src / install+setup / install / mountdest.sh
index d1ce89b12e3ca0a1b6f65dc0a91a9606033e0848..00243a99b2066b1794491502e9f986348bb563b3 100644 (file)
@@ -24,8 +24,13 @@ echo "Scanning for possible destination drives"
 # scan IDE devices
 echo "--> IDE"
 for DEVICE in $(kudzu -qps -t 30 -c HD -b IDE | grep device: | cut -d ' ' -f 2 | sort | uniq); do
+               if [ "$(grep ${DEVICE} /proc/partitions)" = "" ]; then
+                       umount /harddisk 2> /dev/null
+                       echo "${DEVICE} is empty - SKIP"
+                       continue
+               fi
                mount /dev/${DEVICE}1 /harddisk 2> /dev/null
-               if [ -n "$(ls /harddisk/ipfire-*.tbz2 2>/dev/null)" ]; then
+               if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
                        umount /harddisk 2> /dev/null
                        echo "${DEVICE}1 is source drive - SKIP"
                        continue
@@ -33,22 +38,27 @@ for DEVICE in $(kudzu -qps -t 30 -c HD -b IDE | grep device: | cut -d ' ' -f 2 |
                        umount /harddisk 2> /dev/null
                        echo -n "$DEVICE" > /tmp/dest_device
                        echo "${DEVICE} - yes, it is our destination"
-                       exit 0
+                       exit 0 # IDE / use DEVICE for grub
                fi
 done
 
 # scan USB/SCSI devices
 echo "--> USB/SCSI"
 for DEVICE in $(kudzu -qps -t 30 -c HD -b SCSI | grep device: | cut -d ' ' -f 2 | sort | uniq); do
-               mount /dev/${DEVICE} /harddisk 2> /dev/null
-               if [ -n "$(ls /harddisk/ipfire-*.tbz2 2>/dev/null)" ]; then
+               if [ "$(grep ${DEVICE} /proc/partitions)" = "" ]; then
+                       umount /harddisk 2> /dev/null
+                       echo "${DEVICE} is empty - SKIP"
+                       continue
+               fi
+               mount /dev/${DEVICE} /harddisk 2> /dev/null
+               if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
                        umount /harddisk 2> /dev/null
                        echo "${DEVICE} is source drive - SKIP"
                        continue
                else
                        umount /harddisk 2> /dev/null
                        mount /dev/${DEVICE}1 /harddisk 2> /dev/null
-                       if [ -n "$(ls /harddisk/ipfire-*.tbz2 2>/dev/null)" ]; then
+                       if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
                                umount /harddisk 2> /dev/null
                                echo "${DEVICE}1 is source drive - SKIP"
                                continue
@@ -56,7 +66,7 @@ for DEVICE in $(kudzu -qps -t 30 -c HD -b SCSI | grep device: | cut -d ' ' -f 2
                                umount /harddisk 2> /dev/null
                                echo -n "$DEVICE" > /tmp/dest_device
                                echo "${DEVICE} - yes, it is our destination"
-                               exit 1
+                               exit 1 # SCSI/USB (always use /dev/sda as bootdevicename)
                        fi
                fi
 done
@@ -64,32 +74,76 @@ done
 # scan RAID devices
 echo "--> RAID"
 for DEVICE in $(kudzu -qps -t 30 -c HD -b RAID | grep device: | cut -d ' ' -f 2 | sort | uniq); do
+               if [ "$(grep ${DEVICE}p1 /proc/partitions)" = "" ]; then
+                       umount /harddisk 2> /dev/null
+                       echo "${DEVICE}p1 is empty - SKIP"
+                       continue
+               fi
                mount /dev/${DEVICE}p1 /harddisk 2> /dev/null
-               if [ -n "$(ls /harddisk/ipfire-*.tbz2 2>/dev/null)" ]; then
+               if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
                        umount /harddisk 2> /dev/null
                        echo "${DEVICE}p1 is source drive - SKIP"
                        continue
                else
                        umount /harddisk 2> /dev/null
+                       if [ "$(grep ${DEVICE} /proc/partitions)" = "" ]; then
+                               umount /harddisk 2> /dev/null
+                               echo "${DEVICE} is empty - SKIP"
+                               continue
+                       fi
                        mount /dev/${DEVICE}1 /harddisk 2> /dev/null
-                       if [ -n "$(ls /harddisk/ipfire-*.tbz2 2>/dev/null)" ]; then
+                       if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
                                umount /harddisk 2> /dev/null
                                echo "${DEVICE}1 is source drive - SKIP"
                                continue
                        else
                                umount /harddisk 2> /dev/null
                                mount /dev/${DEVICE} /harddisk 2> /dev/null
-                               if [ -n "$(ls /harddisk/ipfire-*.tbz2 2>/dev/null)" ]; then
+                               if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
                                        umount /harddisk 2> /dev/null
                                        echo "${DEVICE} is source drive - SKIP"
                                        continue
                                else
                                        echo -n "$DEVICE" > /tmp/dest_device
                                        echo "${DEVICE} - yes, it is our destination"
-                                       exit 2
+                                       exit 2 # Raid ( /dev/device/diskx )
                                fi
                        fi
                fi
 done
 
+# Virtio devices
+echo "--> Virtio"
+for DEVICE in vda vdb vdc vdd; do
+               if [ ! -e /dev/${DEVICE} ]; then
+                       continue
+               else
+                       if [ "$(grep ${DEVICE} /proc/partitions)" = "" ]; then
+                               umount /harddisk 2> /dev/null
+                               echo "${DEVICE} is empty - SKIP"
+                               continue
+                       fi
+                       mount /dev/${DEVICE} /harddisk 2> /dev/null
+                       if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
+                               umount /harddisk 2> /dev/null
+                               echo "${DEVICE} is source drive - SKIP"
+                               continue
+                       else
+                               umount /harddisk 2> /dev/null
+                               mount /dev/${DEVICE}1 /harddisk 2> /dev/null
+                               if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
+                                       umount /harddisk 2> /dev/null
+                                       echo "${DEVICE}1 is source drive - SKIP"
+                                       continue
+                               else
+                                       umount /harddisk 2> /dev/null
+                                       echo -n "$DEVICE" > /tmp/dest_device
+                                       echo "${DEVICE} - yes, it is our destination"
+                                       exit 0 # like ide / use device for grub
+                               fi
+                       fi
+               fi
+done
+
+
 exit 10 # Nothing found