summaryrefslogtreecommitdiff
path: root/maple-chroot
diff options
context:
space:
mode:
Diffstat (limited to 'maple-chroot')
-rwxr-xr-xmaple-chroot25
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