X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Finstall%2Bsetup%2Finstall%2Fmountsource.sh;h=267823a1dcc14cf549147db2626e27111a444f56;hb=2d490a7304b6a5a84822e5093c36a8985994d1c8;hp=3d25255d1b826bf620603ac3e1f13c4dfe1cbd37;hpb=0b59f25c65d9e22c8b6df41d474f780e86ea4613;p=ipfire-2.x.git diff --git a/src/install+setup/install/mountsource.sh b/src/install+setup/install/mountsource.sh index 3d25255d1b..267823a1dc 100644 --- a/src/install+setup/install/mountsource.sh +++ b/src/install+setup/install/mountsource.sh @@ -1,30 +1,74 @@ #!/bin/sh +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2013 IPFire Team # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### -# -# to be banished by kudzu! +#lfs patch source here... +version=FullIPFireVersion # echo "Scanning source media" -# scan CDROM devices +# scan all Block devices +for DEVICE in `find /sys/block/* -maxdepth 0 ! -name fd* ! -name loop* ! -name ram* -exec basename {} \;` +do + mount /dev/${DEVICE} /cdrom 2> /dev/null + if [ -n "$(ls /cdrom/${version}.media 2>/dev/null)" ]; then + echo -n ${DEVICE} > /tmp/source_device + echo "Found ${version} on ${DEVICE}" + exit 0 + else + echo "not found on ${DEVICE} - SKIP" + fi + umount /cdrom 2> /dev/null +done -for DEVICE in $(kudzu -qps -t 30 -c CDROM | grep device: | cut -d ' ' -f 2 | sort | uniq); do - mount /dev/${DEVICE} /cdrom 2> /dev/null - if [ -e /cdrom/boot ]; then - echo -n ${DEVICE} > /tmp/source_device - exit 0 - fi - umount /cdrom 2> /dev/null +# scan all Partitions on block devices +for DEVICE in `find /sys/block/* -maxdepth 0 ! -name fd* ! -name loop* ! -name ram* -exec basename {} \;` +do + for DEVICEP in $(ls /dev/${DEVICE}? | sed "s/\/dev\///" 2> /dev/null);do + mount /dev/${DEVICEP} /cdrom 2> /dev/null + if [ -n "$(ls /cdrom/${version}.media 2>/dev/null)" ]; then + echo -n ${DEVICEP} > /tmp/source_device + echo "Found ${version} on ${DEVICEP}" + exit 0 + else + echo "not found on ${DEVICEP} - SKIP" + fi + umount /cdrom 2> /dev/null + done done -# scan HD device (usb sticks, etc.) -for DEVICE in $(kudzu -qps -t 30 -c HD | grep device: | cut -d ' ' -f 2 | sort | uniq); do - mount /dev/${DEVICE}1 /cdrom 2> /dev/null - if [ -e /cdrom/boot ]; then - echo -n ${DEVICE}1 > /tmp/source_device - exit 1 - fi - umount /cdrom 2> /dev/null +# scan all Partitions on raid/mmc devices +for DEVICE in `find /sys/block/* -maxdepth 0 ! -name fd* ! -name loop* ! -name ram* -exec basename {} \;` +do + for DEVICEP in $(ls /dev/${DEVICE}p? | sed "s/\/dev\///");do + mount /dev/${DEVICEP} /cdrom 2> /dev/null + if [ -n "$(ls /cdrom/${version}.media 2>/dev/null)" ]; then + echo -n ${DEVICEP} > /tmp/source_device + echo "Found ${version} on ${DEVICEP}" + exit 0 + else + echo "not found on ${DEVICEP} - SKIP" + fi + umount /cdrom 2> /dev/null + done done exit 10