Code Monkey home page Code Monkey logo

proot's Introduction

PRoot

It is a clone of the Termux version of PRoot with some additional adaptations for Android deployment.

Features

  • In case of unbundled loader, relocation does not require to set PROOT_LOADER / PROOT_LOADER_32 variables and these variables can be relative to the proot binary location and resolved as <proot_location>/$PROOT_LOADER. Defaults are ../libexec/proot/loader / ../libexec/proot/loader32 respectively.

  • --tcsetsf2tcsets option as long as TCSETSF is forbidden in Android and substitution with TCSETS can be an acceptable workaround. tcsetattr(TCSAFLUSH, ...) => tcsetattr(TCSANOW, ...) in other words.

  • --tcsetsf2tcsetsw as TCSETSW looks even better. tcsetattr(TCSAFLUSH, ...) => tcsetattr(TCSADRAIN, ...) in other words.

  • --mute-setxid return 0 for calls

    • setuid()
    • setuid32()
    • setgid()
    • setgid32()
    • setreuid()
    • setreuid32()
    • setregid()
    • setregid32()
    • setresuid()
    • setresuid32()
    • setresgid()
    • setresgid32() if they trigger SIGSYS (Android related).
  • --bind-memfd=<pattern> option as long as Android does not provide access to tmpfs for regular apps. It uses memfd_create(). Pattern acts like the fnmatch() one with the FNM_PATHNAME and FNM_EXTMATCH flags. Experimental. No open_by_handle_at syscall support yet.

  • ANDROID_PRE5 make 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 (-H option):

    • prefix changed: .proot => .proot..
  • USERLAND variant meta file prefix changed: .proot-meta-file. => .proot.meta-file..

Known Issues

"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

proot's People

Contributors

alufers avatar corbinlc avatar fornwall avatar green-green-avk avatar grimler91 avatar hax4us avatar jlmess77 avatar leap0x7b avatar lightful avatar marksteward avatar michalbednarski avatar r1olo avatar symphorien avatar t184256 avatar tomty89 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.