X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap;h=7a3728f374302282beb36106b6b880886bfd1e10;hp=bfe750430ca7fc0e1d99d75ce2c67f77daa0b11d;hb=f48891f86b25f3f2563097cfe1f50ddcd3d4c91c;hpb=d31f8780d6962eb7d18a23ef3958cbb06ec8db69 diff --git a/grml-debootstrap b/grml-debootstrap index bfe7504..7a3728f 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -354,7 +354,7 @@ fi # make sure we have what we need {{{ if [ -n "$VIRTUAL" ] ; then - check4progs kpartx mksh qemu-img || bailout 1 + check4progs kpartx mksh parted qemu-img || bailout 1 fi # }}} @@ -954,6 +954,13 @@ prepare_vm() { dd if=/dev/zero bs=1 conv=notrunc count=64 seek=446 of="$TARGET" parted -s "${TARGET}" 'mkpart primary ext3 2M -1' + # if dm-mod isn't available then kpartx will fail with + # "Is device-mapper driver missing from kernel? [...]" + if ! kpartx -av $TARGET >/dev/null 2>&1 ; then + einfo "Device-mapper not ready yet, trying to load dm-mod module." + modprobe dm-mod ; eend $? + 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