0

After doing some research, it mention that the bootstrap in this url (http://termux.net/bootstrap/) must be download and install before one can use Termux.

So, how do I install the bootstrap? or do I put the bootstrap files into a particular folder in the phone before install Termux? or something else I need to do? or are there alternative methods to get Termux installed and running without connecting to the Internet?

(Note: The phone is not connect to the Internet. The phone need to have Termux installed with all prerequisite packages, such as bootstrap.)

  • @iBug please provide the instructions for manual install. Thank you. – user275517 Sep 21 '18 at 10:47
  • Sorry for being late. I just came back from school homework. Hope you like the answer. – iBug Sep 21 '18 at 13:38
2

If you want to install that bootstrap package without internet, you need root access.

The easiest way I've found is with Titanium Backup. You can install Termux on another device, bootstrap it then back it up with TB, and transfer the TB backup to the offline device and restore. It's also convenient for batch deploy.

If you want to manually install the bootstrap package via a shell (another Terminal Emulator or ADB shell), here's a possible method (I haven't tested it myself, but I think it's mostly correct). As said before, manual installation also requires root access.

First download the ZIP of the correct architecture and create these directories:

/data/data/com.termux/files/home
/data/data/com.termux/files/usr

And extract the ZIP completely to /data/data/com.termux/files/usr.

Then create some symbolic links because they're required for Termux to work. The instruction to creating those symbolic links are stored in SYMLINKS.txt and you need to process that.

Well, putting Unicode characters in such a text file isn't a good practice because it makes it hard to parse. Maybe you can try this tool (Meta Sandbox, CodePen) on a desktop browser. First click "Run Code Snippet" to enable it. Paste the content of SYMLINKS.txt to the text box, click Convert and run the output as shell commands. Make sure you're running those ln commands in /data/data/com.termux/files/usr.

Finally, correct the permissions, ownerships and SELinux contexts. Run the following commands. You can use the "vanilla" toolset in /system/bin for this job. They perform well here.

ROOT=/data/data/com.termux/files
UID=$(stat -c %u $ROOT)
chown -R $UID.$UID $ROOT
chmod -R 0755 $ROOT/usr/bin $ROOT/usr/libexec

If you're running Android 7 (API 24) or up, run this command in addition:

chcon -R u:object_r:app_data_file:s0:c512,c768 $ROOT

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.