File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / strongswan / testing / scripts / chroot
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 09:46:49 2020 UTC (4 years, 2 months ago) by misho
Branches: strongswan, MAIN
CVS tags: v5_8_4p7, HEAD
Strongswan

    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>