Fredrik Fornwall
9 years ago
2 changed files with 47 additions and 0 deletions
@ -0,0 +1,45 @@ |
|||
#!/bin/sh |
|||
|
|||
if [ $# != 0 ]; then |
|||
echo "termux-chroot: Setup a chroot to mimic a normal Linux file system" |
|||
echo "" |
|||
echo "Execute without arguments to run a chroot with traditional file system" |
|||
echo "hierarchy (having e.g. the folders /bin, /etc and /usr) within Termux." |
|||
exit |
|||
fi |
|||
|
|||
# For the /system/bin/linker(64) to be found: |
|||
ARGS="-b /system:/system" |
|||
|
|||
# Bind $PREFIX so Termux programs expecting |
|||
# to find e.g. configurations files there work. |
|||
ARGS="$ARGS -b $PREFIX/..:$PREFIX/.." |
|||
|
|||
# Mimic traditional Linux file system hierarchy - /usr: |
|||
ARGS="$ARGS -b $PREFIX:/usr" |
|||
|
|||
# Mimic traditional Linux file system hierarchy - other Termux dirs: |
|||
for f in bin etc lib share tmp var; do |
|||
ARGS="$ARGS -b $PREFIX/$f:/$f" |
|||
done |
|||
|
|||
# Mimic traditional Linux file system hierarchy- system dirs: |
|||
for f in dev proc; do |
|||
ARGS="$ARGS -b /$f:/$f" |
|||
done |
|||
|
|||
# Set /home as current directory: |
|||
ARGS="$ARGS --cwd=/home" |
|||
|
|||
# Root of the file system: |
|||
ARGS="$ARGS -r $PREFIX/.." |
|||
|
|||
# Program to execute: |
|||
PROGRAM=/bin/bash |
|||
if [ -x $HOME/.termux/shell ]; then |
|||
PROGRAM=`readlink -f $HOME/.termux/shell` |
|||
fi |
|||
ARGS="$ARGS $PROGRAM -l" |
|||
|
|||
export HOME=/home |
|||
$PREFIX/bin/proot $ARGS |
Loading…
Reference in new issue