diff options
Diffstat (limited to 'maple-chroot')
| -rwxr-xr-x | maple-chroot | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/maple-chroot b/maple-chroot new file mode 100755 index 0000000..5d7d52d --- /dev/null +++ b/maple-chroot @@ -0,0 +1,25 @@ +#!/bin/sh + +if [ -z "$1" ] && [ ! -d "$1" ]; then + echo "Usage: $0 <root>" + exit 1 +fi + +if mount --rbind /dev $1/dev && mount --make-rslave $1/dev; then + if mount -t proc /proc $1/proc; then + if mount --bind /run $1/run; then + if mount --rbind /sys $1/sys && mount --make-rslave $1/sys; then + if mount --rbind /tmp $1/tmp; then + SHELL=$2 + [ -z "$SHELL" ] && SHELL=/bin/sh + chroot $1 $SHELL + umount -R $1/tmp + fi + umount -R $1/sys + fi + umount -R $1/run + fi + umount -R $1/proc + fi + umount -R $1/dev +fi
\ No newline at end of file |
