So I was trying to install Busybox on my DROID to use Metamorph and some other root applications. Stericson said I should be able to download via DroidSwap, but that didn't work so I went for the manual installation.
Following these instructions (http://www.novoda.com/blog/?p=3) I was able to successfully install Busybox on my phone. I typed busybox in the terminal and got a list of commands, I typed cp in the terminal and got the Copy syntax.
So I exited the terminal and went to perform something else and going back into the terminal I typed busybox again, except this time I get "busybox: busybox not found" ... I even navigated back to /data/busybox and if I do an ls of that directory the busybox file is in there, but I still get the "not found" when trying to run it.
Any thoughts as to why it would work once and now it doesn't.
Your best bet is probably to install it to /system/bin so it's in your path. Then you don't have to navigate anywhere to run busybox.
Just put the busybox binary into /system/bin and chmod to 755.
Im not new to Linux, but I am new to busybox.
I noticed I can access some basic info type commands like: ls, cd, cat, etc... but I cant access commands like grep, tail, traceroute, and a bunch of others. As user or superuser I have the same result.
If I type "busybox" I can see a fairly comprehensive list of applets that were compiled into busybox, I'm just at a loss how to access them all.
Is there a script or list that maintains a list of accessible commands I can edit?
Do I have to link to each individual command I want to invoke?
Do I need to cd to /bin/busybox to use commands? or can it be added to users path?
I'm using Terminal Emulator, is there a better program I should be using for accessing the command line?
Can someone with more busybox experience please enlighten me?
busybox cat
as example... or "busybox top"
you can also chose to install in a location.
busybox --install /system/xbin
if path includes /system/xbin, you dont need busybox in front of commands anymore
its not recommended to install into /system/bin
"busybox thank-you" I knew there had to be a simple answer.
I was looking for a command line ssh program for Android, and was surprised that I couldn't find anything. I didn't want to install a chroot environment, but then I found Optware for Android. I've used it before on other devices and it's VERY useful for getting a more complete unix environment on otherwise stripped down linux devices.
The version on that page was built for a rooted Nook Color, but I only had to make minor changes to get it to run on an Epic running SRF:
1. Extract miniunz from Barnes and Noble's Nook Color 1.2 update zip and put it somewhere in the path - I put mine at /system/bin. You can get it from the first link here http://www.google.com/search?q=nook+color+1.2+update.
2. Make sure /system has at least 2MB or so free. Mine was full... I deleted a few ringtones from /system/media/audio/ringtones/
3. run this:
mount -o remount,rw /
ln -s /data/tmp /tmp
4. Follow the instructions from the Optware for Android page
Optware will now be installed, but pretty much nothing will run at the moment. I'm VERY new to Android, so I don't know that this is the right way to fix it, but here's what I did to get it working:
1. mount -o remount,rw /system
create /system/xbin/optlinks.sh with these contents:
#!/bin/sh
if [ ! -L /tmp ]; then
mount -o remount,rw /
ln -s /data/opt/lib/ld-linux.so.3 /lib/ld-linux.so.3
ln -s /data/opt /opt
ln -s /data/tmp /tmp
mount -o remount,ro /
fi
create /system/xbin/shell.sh with these contents:
#!/bin/sh
/system/bin/su -c /system/xbin/optlinks.sh
/system/bin/su -c "/opt/bin/bash --login"
2. chmod 755 shell.sh and optlinks.sh
3. Edit /etc/profile and add :/opt/sbin:/opt/bin to the PATH export and :/opt/lib to the LD_LIBRARY_PATH export.
4. Install Jack Palevich's Terminal Emulator from the Market
5. In Terminal Emulator's Prefs, set Initial Command to shell.sh.
I had to put the optlinks.sh part in because that's what optware expects - the Nook has those locations, SRF doesn't. Symlinks seem to work fine, but they disappear on reboot - no idea why - so that's why I run it every time.
Now, when I launch Terminal Emulator, I get a root shell, and can use ipkg install to get anything optware provides. It would be really cool if I the shell was run as a normal (non-root) user, and even better if the optware installer didn't need all the workarounds. Anybody have any ideas?
Tried this on CM 7
First off, thanks!
I tried this on CM 7 nightly (nexus one) and here is what I found:
- Most importantly, it broke root access to other apps on the phone. Not sure if this is due to not being able to update init.rc, may try to sort this out later.
- The goal of the install is to be able to run an SSH server and in addition to that you will have access to optware.
- The default busybox that is included with CM7 does not include adduser, addgroup or passwd applets which will cause things to fail once the install script tries to add a new user. Also, there is an app called "busybox installer" on the market that *will* update busybox, however it depends on libraries that CM7 does not include by default. The result is none of the busybox applets can reach the internet due to not being able to resolve domain names.
If you open the optware-bootstrap-0.0.1.shar file with 7zip, you will see there is a busybox executable included. It's an older version, however it includes what you need. I copied that version to /system/xbin and I was able to use the aforementioned applets
- At the end of my install I received an error that it was unable to edit the ram disk while trying to update init.rc. I think the solution is to add a script to /system/etc/init.d/ . Still working that out.
- I'm probably going to try combining this method with this one: http://android.modaco.com/topic/312...cripts-installing-bash-dropbear-mc-nano-opkg/ Since this is more of a manual method, however it's connecting to a custom optware feed that only has a few packages.
I dont suppose you got anywhere with this?
Looking to install optware on my desire hd running miui rom.
Requirements:
TWRP recovery or equivalent
Root access
Android Debug Bridge (adb)
Know how to connect to device through adb (USB, network)
Ability to extract tar, lz and zip archives (7-Zip, Lzip)
Allowed apps from unknown sources through Fire OS
Ability to launch system apps (ES File Explorer, FireStarter)
USB or bluetooth mouse helps but is not required
Installation:
Install Xposed and the HDXPosed module
Download and install Open GApps ARM64, 5.1, pico using TWRP recovery
Download Google Play Store (Android TV) and rename APK to Phonesky.apk
Create a temporary folder on your Fire TV:
Code:
adb shell mkdir -p /sdcard/gtmp/lib/
Push Phonesky.apk to your Fire TV:
Code:
adb push Phonesky.apk /sdcard/gtmp/
Extract Core/gmscore-arm64.tar.lz and Core/gsflogin-all.tar.lz from the Open GApps archive obtained during step #2
Extract the contents of gmscore-arm64.tar.lz and gsflogin-all.tar.lz
Push these newly extracted files to your Fire TV:
Code:
adb push gsflogin-all/nodpi/priv-app/GoogleLoginService/GoogleLoginService.apk /sdcard/gtmp/
adb push gmscore-arm64/nodpi/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk /sdcard/gtmp/
adb push gmscore-arm64/common/priv-app/PrebuiltGmsCore/lib/arm64/* /sdcard/gtmp/lib/
Enter adb shell and run su for root
Mount the /system partition with rw access
Code:
mount -o remount,rw /system
Create missing directories that Open GApps failed to create:
Code:
mkdir /system/priv-app/Phonesky
mkdir /system/priv-app/GoogleLoginService
mkdir -p /system/priv-app/PrebuiltGmsCore/lib/arm64
Copy the missing APKs and libraries to their proper locations:
Code:
cp /sdcard/gtmp/Phonesky.apk /system/priv-app/Phonesky/
cp /sdcard/gtmp/GoogleLoginService.apk /system/priv-app/GoogleLoginService/
cp /sdcard/gtmp/PrebuiltGmsCore.apk /system/priv-app/PrebuiltGmsCore/
cp /sdcard/gtmp/lib/* /system/priv-app/PrebuiltGmsCore/lib/arm64/
Change the permissions for the newly created files and directories:
Code:
chmod 755 /system/priv-app/{GoogleLoginService/,Phonesky/,PrebuiltGmsCore/,PrebuiltGmsCore/lib/,PrebuiltGmsCore/lib/arm64/}
chmod 644 /system/priv-app/Phonesky/Phonesky.apk
chmod 644 /system/priv-app/GoogleLoginService/GoogleLoginService.apk
chmod 644 /system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk
chmod 644 /system/priv-app/PrebuiltGmsCore/lib/arm64/*
Remove the temporary folder:
Code:
rm -r /sdcard/gtmp/
Exit adb shell
Download Google Play services (Android TV), variant 846 (8 for Android TV, 4 for arm64-v8a, 6 for 320 dpi) and rename APK to com.google.android.gms.apk
Download Google Account Manager 4.4.4 and rename APK to com.google.android.gsf.login_4.4.4.apk
Install Google Play services (Android TV) and Google Account Manager 4.4.4 using adb:
Code:
adb install 'com.google.android.gms.apk'
adb install -r -d 'com.google.android.gsf.login_4.4.4.apk'
Disconnect adb and reboot Fire TV
Connect to adb, enter adb shell and run su
Mount the /system partition as ro
Code:
mount -o remount,ro /system
Exit adb shell and disconnect adb
Play Store Setup:
Launch Google Play Store. Play Store is a system app and requires a program such as ES File Explorer or FireStarter to launch.
Login to your Google account. You should be able to fully navigate this version of Google Account Manager with the Fire remote, but a mouse can be helpful.
Play Store should have launched and you can now install Android TV apps and use apps that require Play Store or Google accounts.
Credits:
AFTVnews for their Play Store guide
guyHalestorm for his updated AFTVnews Play Store guide
I created this because guyHalestorm's guide was getting pretty outdated and wanted a better guide for the next time I have to install Play Store instead of referencing multiple guides, comments and updating commands.
Notes:
I omitted some very, very basic things from the guide such as how to use adb, extract archives, and launch system apps from specific apps due to the guide already being very long and most XDA users should be familiar with these or can be easily learned from Google.
Windows users may have to replace forward slashes (/) with back slashes (\) in paths depending on their shell.
I only tested this on my Fire TV 2 but I don't see why this wouldn't work on other Fire TV devices with root. I didn't personally test this 1:1 since I already installed Play Store, so let me know there's problems.
Oh wow, thanks for this. I will try this out when I get home tonight.
Proved on Fire OS [5.2.6.2_r1] and it's working fine.
Made a couple changes to the guide which are hopefully the last:
Fixed minor typos
Fixed Phonesky.apk source directory path in cp command (command would have failed)
Greatly simplified push and copy commands which should also improve future Open GApps compatibility
Corrected directory and file permissions (chmod) which may have worked before but were incorrect and possibly insecure. If you've followed the guide before, do step 9 & 10, 13 and then 21 & 22
ok solved done
Anyone tested this on Fire TV 3?
StDevious said:
Anyone tested this on Fire TV 3?
Click to expand...
Click to collapse
Doesn't work on Fire TV 3 bro. There's no root for us v3 users. :'(
First of all thank you @Bracket- for the guide :good:
I have done Everything exactly like the guide
but i can't open the playstore.
When i open it, it loads for few seconds and then it close.
Do you have or anybody else here have an idea why this happens?
My system: Fire TV 2, 5.2.6.2 rooted, xposed and hdxposed installed
chris-89 said:
First of all thank you @Bracket- for the guide :good:
I have done Everything exactly like the guide
but i can't open the playstore.
When i open it, it loads for few seconds and then it close.
Do you have or anybody else here have an idea why this happens?
My system: Fire TV 2, 5.2.6.2 rooted, xposed and hdxposed installed
Click to expand...
Click to collapse
If you already have root, this guide is much too complicated
Simply modify build.prop and then install the appropriate GApps and you have the complete Play Store & Services available.
Take a look around: here
You only need these steps:
2. Customize build.prop
4. Install Open Google apps for Android TV (the newest version works fine)
5. Allow Google registration (NoTouchAuthDelegate)
Prerequisites:
XposedInstaller-3.1.5.apk (install Xposed v89+)
HDXPosed-1.3.apk
BusyBox
rainman74 said:
If you already have root, this guide is much too complicated
Simply modify build.prop and then install the appropriate GApps and you have the complete Play Store & Services available.
Take a look around: here
You only need these steps:
2. Customize build.prop
4. Install Open Google apps for Android TV (the newest version works fine)
5. Allow Google registration (NoTouchAuthDelegate)
Prerequisites:
XposedInstaller-3.1.5.apk (install Xposed v89+)
HDXPosed-1.3.apk
BusyBox
Click to expand...
Click to collapse
Thanks for you help :good:
I will do this tomorrow.
Short question: do i need also the gapps-config.txt or not?
And when i need it, what did i need for using only the playstore and services?
chris-89 said:
Thanks for you help :good:
I will do this tomorrow.
Short question: do i need also the gapps-config.txt or not?
And when i need it, what did i need for using only the playstore and services?
Click to expand...
Click to collapse
yes, you need gapps-config.txt
Code:
forceclean
skipswypelibs
skipvendorlibs
GoogleAssistant
+extsharedstock
+keyboardstock
+provision
+packageinstallerstock
+webviewstock
+notouchauthdelegate
Include
gappspico
rainman74 said:
yes, you need gapps-config.txt
Click to expand...
Click to collapse
Thanks, playstore works now :victory:
Btw whats the different between the notouchauthdelegate.apk from the gapps package and your tv-notouchgsf.apk? and why we need yours and not the one from the package? I ask just for my understanding
chris-89 said:
Thanks, playstore works now :victory:
Btw whats the different between the notouchauthdelegate.apk from the gapps package and your tv-notouchgsf.apk? and why we need yours and not the one from the package? I ask just for my understanding
Click to expand...
Click to collapse
The package com.google.android.gsf.notouch of Open GApps (TV-Stock version) does not work on Fire TV so that the AndroidManifest.xml had to be modified.
I followed the guide as exactly as I could:
I did not install Xposed and the HDXPosed module, because it is nowhere stated what it is for.
Open Gapps arm64 releases of 5 September 2018 are the last containing Core/gsflogin-all.tar.lz. So I used:
open_gapps-arm64-5.1-pico-20180905.zip.
my /system ran out of memory, so I had to create a symlink:
Code:
ln -s /data/priv-app/PrebuiltGmsCore /system/priv-app/PrebuiltGmsCore
and continued without any error from there.
But when I run Google Play Store app and try to login, I get Error [RH-01].
Hi there,
I'm using a Nvidia Shield TV Pro - unrooted due to the DRM stuff like Dolby Vision.
Now I want to reconfigure Kodi from Scratch. In my current installation there are a lot packages which aren't updatable anymore.
For that reason I was using Termux to copy the Kodi userdata. That worked until one year ago. With some updates of Android this isn't possible anymore. That's very sad, because Termux is fully configured with every tool I need.
Fortunately I can access /sdcard/Android/data/com.xbmc.kodi using adb. The disadvantage: adb shell doesn't even provide VI or any other simple editor. The proposed solution to install busybox fails in need of root permission. And just to copy the busybox binary to an accessable folder didn't work too. Android gives the binary 660 permissions (no execute).
My solution for editing some configuration files in Kodi now is:
adb shell: access /sdcard/Android/data/com.xorg.kodi/files/.kodi
adb shell: cp configfile to /sdcard
Termux: Edit configfile
adb shell: cp /sdcard/configfile back to com.xorg.kodi
That's not a very comfortable solution. Is there better way modify config files of installed applications?