Return to chroot CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / strongswan / testing / scripts |
1.1 ! misho 1: #!/bin/bash ! 2: ! 3: DIR=$(dirname `readlink -f $0`) ! 4: . $DIR/../testing.conf ! 5: . $DIR/function.sh ! 6: ! 7: [ `id -u` -eq 0 ] || die "You must be root to run $0" ! 8: running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0" ! 9: ! 10: [ -n "$1" ] || die "$0 <image to mount: base|root|<guest>>" ! 11: ! 12: check_commands partprobe qemu-nbd ! 13: ! 14: load_qemu_nbd ! 15: ! 16: mkdir -p $LOOPDIR ! 17: mkdir -p $IMGDIR ! 18: mkdir -p $SHAREDDIR ! 19: ! 20: echo "Mounting image" ! 21: ! 22: case "$1" in ! 23: base) ! 24: [ -f "$BASEIMG" ] || die "Base image $BASEIMG not found" ! 25: log_action "Connecting base image to NBD device $NBDEV" ! 26: execute "qemu-nbd -c $NBDEV $BASEIMG" ! 27: affected="root and guest" ! 28: ;; ! 29: root) ! 30: [ -f "$ROOTIMG" ] || die "Root image $ROOTIMG not found" ! 31: log_action "Connecting root image to NBD device $NBDEV" ! 32: execute "qemu-nbd -c $NBDEV $ROOTIMG" ! 33: affected="guest" ! 34: ;; ! 35: *) ! 36: echo $STRONGSWANHOSTS | grep -q "\b$1\b" || die "Guest $1 not found" ! 37: GUESTIMG="$IMGDIR/$1.$IMGEXT" ! 38: [ -f "$GUESTIMG" ] || die "Guest image $GUESTIMG not found" ! 39: log_action "Connecting guest image to NBD device $NBDEV" ! 40: execute "qemu-nbd -c $NBDEV $GUESTIMG" ! 41: ;; ! 42: esac ! 43: ! 44: do_on_exit qemu-nbd -d $NBDEV ! 45: partprobe $NBDEV ! 46: ! 47: log_action "Mounting $NBDPARTITION to $LOOPDIR" ! 48: execute "mount $NBDPARTITION $LOOPDIR" ! 49: do_on_exit umount $LOOPDIR ! 50: ! 51: log_action "Mounting proc filesystem to $LOOPDIR/proc" ! 52: execute "mount -t proc none $LOOPDIR/proc" ! 53: do_on_exit umount $LOOPDIR/proc ! 54: ! 55: mkdir -p $LOOPDIR/root/shared ! 56: log_action "Mounting $SHAREDDIR as /root/shared" ! 57: execute "mount -o bind $SHAREDDIR $LOOPDIR/root/shared" ! 58: do_on_exit umount $LOOPDIR/root/shared ! 59: ! 60: if [ -n "$affected" ]; then ! 61: echo ! 62: echo "Rebuild the $affected images after making changes to this image!" ! 63: echo ! 64: fi ! 65: ! 66: export debian_chroot="$1" ! 67: chroot $LOOPDIR /bin/bash -i