It is a clone of the Termux version of PRoot with some additional adaptations for Android deployment.
-
In case of unbundled loader, relocation does not require to set
PROOT_LOADER/PROOT_LOADER_32variables and these variables can be relative to theprootbinary location and resolved as<proot_location>/$PROOT_LOADER. Defaults are../libexec/proot/loader/../libexec/proot/loader32respectively. -
--tcsetsf2tcsetsoption as long asTCSETSFis forbidden in Android and substitution withTCSETScan be an acceptable workaround.tcsetattr(TCSAFLUSH, ...)=>tcsetattr(TCSANOW, ...)in other words. -
--tcsetsf2tcsetswasTCSETSWlooks even better.tcsetattr(TCSAFLUSH, ...)=>tcsetattr(TCSADRAIN, ...)in other words. -
--mute-setxidreturn0for callssetuid()setuid32()setgid()setgid32()setreuid()setreuid32()setregid()setregid32()setresuid()setresuid32()setresgid()setresgid32()if they triggerSIGSYS(Android related).
-
--bind-memfd=<pattern>option as long as Android does not provide access to tmpfs for regular apps. It usesmemfd_create(). Pattern acts like thefnmatch()one with theFNM_PATHNAMEandFNM_EXTMATCHflags. Experimental. Noopen_by_handle_atsyscall support yet. -
ANDROID_PRE5make variable can be set in order to produce Android version < 5 (API < 21) compatible variant. -
Hardlinks:
- with broken meta info are not weird zombie files anymore. Now they are just dangling symlinks;
- prefix
.l2s.=>.proot.l2s.for non-UserLAnd builds.
-
Hidden files (
-Hoption):- prefix changed:
.proot=>.proot..
- prefix changed:
-
USERLAND variant meta file prefix changed:
.proot-meta-file.=>.proot.meta-file..
"chfn: PAM: system error" (it seems, Debian and Ubuntu bootstraps for 32-bit architectures only are affected): proot-me/proot#174 (comment) and proot-me/proot#156