if [ "$0" == "chroot.sh" ]; then echo Do not execute this, source it instead: "source $0" >&2 exit 1 fi root_dir=$(readlink -f $(pwd)) if [ -z "$CHROOTER" ]; then CHROOTER=$USER fi echo Will chroot to $root_dir then become user $CHROOTER >&2 if [ "$root_dir" == "/opt/wheezy64" ]; then sudo mount -t proc proc proc/ sudo mount -t sysfs sys sys/ sudo mount -o bind /dev dev/ sudo mount -t devpts devpts dev/pts sudo mount -o bind /media/sda3 media/sda3 sudo mount -o bind /home/jcomeau home/jcomeau sudo chroot . /bin/bash -c "su - $CHROOTER" # upon exit from chroot, undo the mounts sudo umount home/jcomeau sudo umount media/sda3 sudo umount dev/pts sudo umount dev sudo umount sys sudo umount proc else echo Unexpected root directory $root_dir, nothing done >&2 fi