Make sure loop module is present [Closes: issue1155]
authorMichael Prokop <mika@grml.org>
Tue, 10 Apr 2012 10:01:38 +0000 (12:01 +0200)
committerMichael Prokop <mika@grml.org>
Mon, 23 Apr 2012 23:55:14 +0000 (01:55 +0200)
Thanks: Christian Hofstaedtler for the bugreport

grml-debootstrap

index 619d651..a30deb9 100755 (executable)
@@ -961,6 +961,18 @@ prepare_vm() {
     modprobe dm-mod ; eend $?
   fi
 
     modprobe dm-mod ; eend $?
   fi
 
+  # make sure loop module is present
+  if ! losetup -f >/dev/null 2>&1; then
+    einfo "Can not find a usable loop device, retrying after loading loop module."
+    modprobe loop
+    if losetup -f >/dev/null 2>&1; then
+      einfo "Found a usable loop device now, continuing."
+    else
+      eerror "Error finding usable loop device" ; eend 1
+      bailout 1
+    fi
+  fi
+
   DEVINFO=$(kpartx -av $TARGET) # 'add map loop1p1 (253:0): 0 6289408 linear /dev/loop1 2048'
   if [ -z "${DEVINFO}" ] ; then
     eerror "Error setting up loopback device." ; eend 1
   DEVINFO=$(kpartx -av $TARGET) # 'add map loop1p1 (253:0): 0 6289408 linear /dev/loop1 2048'
   if [ -z "${DEVINFO}" ] ; then
     eerror "Error setting up loopback device." ; eend 1