diff --git a/scripts/make_image.sh b/scripts/make_image.sh index fd6df741082db500a636ecc316f4801a595086ba..abfa3826c95ecb1703ef2dc8843e78e4f599c97c 100755 --- a/scripts/make_image.sh +++ b/scripts/make_image.sh @@ -34,13 +34,20 @@ function make_image() if [ "$devfs" == "tmpfs" ]; then mount -t devtmpfs nodev /dev fi - cat /proc/devices + mount + ls -l /dev/loop* if [ ! -e /dev/loop500 ]; then lodev_major=$(grep loop /proc/devices | cut -c3) mknod /dev/loop500 b $lodev_major 500 LOOP=/dev/loop500 else - LOOP=$(losetup -f) + loop_used=1 + fdisk -l /dev/loop500 || loop_used=0 + if [ $loop_used == 0 ]; then + LOOP=/dev/loop500 + else + LOOP=$(losetup -f) + fi fi [[ -z $LOOP ]] && echo "Unable to find free loop device" && exit