4 echo "termux-chroot: Setup a chroot to mimic a normal Linux file system"
6 echo "Execute without arguments to run a chroot with traditional file system"
7 echo "hierarchy (having e.g. the folders /bin, /etc and /usr) within Termux."
11 # For the /system/bin/linker(64) to be found:
12 ARGS
="-b /system:/system"
14 # On some devices /vendor is required for termux packages to work correctly
15 # See https://github.com/termux/proot/issues/2#issuecomment-303995382
16 ARGS
="$ARGS -b /vendor:/vendor"
18 # Bind $PREFIX so Termux programs expecting
19 # to find e.g. configurations files there work.
20 ARGS
="$ARGS -b $PREFIX/..:$PREFIX/.."
22 # Expose external and internal storage:
23 if [ -d
/storage
]; then
24 ARGS
="$ARGS -b /storage:/storage"
27 # Mimic traditional Linux file system hierarchy - /usr:
28 ARGS
="$ARGS -b $PREFIX:/usr"
30 # Mimic traditional Linux file system hierarchy - other Termux dirs:
31 for f
in bin etc lib share tmp var
; do
32 ARGS
="$ARGS -b $PREFIX/$f:/$f"
35 # Mimic traditional Linux file system hierarchy- system dirs:
37 ARGS
="$ARGS -b /$f:/$f"
40 # Set /home as current directory:
41 ARGS
="$ARGS --cwd=/home"
43 # Root of the file system:
44 ARGS
="$ARGS -r $PREFIX/.."
48 if [ -x
$HOME/.termux
/shell
]; then
49 PROGRAM
=`readlink -f $HOME/.termux/shell`
51 ARGS
="$ARGS $PROGRAM -l"
54 $PREFIX/bin
/proot
$ARGS