Annotation of embedaddon/strongswan/testing/scripts/chroot, revision 1.1.1.1
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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>