[Q] busybox and nandroid issues - Motorola Droid and Milestone General

I have been experimenting with my new droid/milestone the past couple of days, odd problems which I am past now but still curious about.
Firstly after flashing the 2.1 sbf with rsd it will autoboot and screen slider will be there, then when I reboot, screen slider will be missing. This only happend when I flashed an sbf from the sbf site(2.1 uk version, not service), doing a factory reset didn't have any problem -could reboot as many times and slider would be there.... then suddenly after factory boot it would dissapear after first boot. Anyway solved this problem by installing screen mode widget after first boot after flash, solved problem, but still weird. Fixed this now but still curious about it.
Next, nandroid backup is missing from recovery menu, I have rooted and can execute root commands after typing "su" via Android Terminal emulator, so pretty sure is rooted. So why no nandroid? I thought I could do nandroid backup after rooting.
Next busybox won't install, tried the app, did the "searching system" for over an hour(not exagerrating), eventually gave up and uninstalled.
Trying to do a "manual busybox install" now, using this guide:
Busybox How-to? - Android Forums
Can't execute commands via usb/adb in recovery mode as the other guy suggested so been trying these commands both with terminal emulator on phone, and usb-debugging mode with windows shell. Using these I can go "su" and type "ls" to see files on my droid phone....but when I try to "mount /system" or /sdcard from windows I just get a print about mount options, when I try to "cat /sdcard/busybox > /system/xbin/busybox" I get a "file is read only" error.
I would like advice on how to install busybox, I would like to do it manually(because the app seems to not work for me, remember I waited over an hour while it "searched") and I want to learn to manually do stuff anyway. I tried to chmod /system/xbin too, but that didn't seem to change it from read only.
Also any thoughts on why nandroid backup is missing from my recovery menu even though my droid is rooted. I thought it was meant to appear.
I am still learning and researching, and appreciate any links or tips.

droidtech1 said:
Next, nandroid backup is missing from recovery menu, I have rooted and can execute root commands after typing "su" via Android Terminal emulator, so pretty sure is rooted. So why no nandroid? I thought I could do nandroid backup after rooting.
Click to expand...
Click to collapse
This is odd. Which OpenRecovery did you install? Androidiani? GOT? Or the "original" OpenRecovery? Are you aware, that you come into OpenRecovery by starting Recovery Mode and apply update.zip?
droidtech1 said:
Next busybox won't install, tried the app, did the "searching system" for over an hour(not exagerrating), eventually gave up and uninstalled.
Trying to do a "manual busybox install" now, using this guide:
Busybox How-to? - Android Forums
Click to expand...
Click to collapse
Using the app from the market worked like a charm for me. No idea, what might have gone wrong for you...
droidtech1 said:
Can't execute commands via usb/adb in recovery mode as the other guy suggested so been trying these commands both with terminal emulator on phone, and usb-debugging mode with windows shell. Using these I can go "su" and type "ls" to see files on my droid phone....but when I try to "mount /system" or /sdcard from windows I just get a print about mount options, when I try to "cat /sdcard/busybox > /system/xbin/busybox" I get a "file is read only" error.
Click to expand...
Click to collapse
For remounting, try "mount -o rw,remount /dev/block/mtdblock6 /system" and for undoing this, use "ro" instead of "rw".
droidtech1 said:
I would like advice on how to install busybox, I would like to do it manually(because the app seems to not work for me, remember I waited over an hour while it "searched") and I want to learn to manually do stuff anyway. I tried to chmod /system/xbin too, but that didn't seem to change it from read only.
Click to expand...
Click to collapse
You should download busybox and put the "busybox"-file in the directory /sdcard. After that do:
Code:
# su
# mount -o rw,remount /dev/block/mtdblock6 /system
# cp /sdcard/busybox /system/xbin
# cd /system/xbin
# chmod 755 busybox
# ./busybox --install
# mount -o ro,remount /dev/block/mtdblock6 /system
One thought at the end: How did you root?

I rooted by flashing "vunerable recovery" using RSD lite, copied milestone-root.zip to sd card, renamed it update.zip, rebooted into recovery mode, flashed update.zip from there.
I didn't realise I had to install something like open recovery, think because I remember not having to do that on my pulse? Anyway will try and install one of those now.
Thanks those commands at the end helped, actually managed to copy busybox to /system/xbin, however the 2nd last one "./busybox --install" gave me a load of errors -all being no such file or directory, for example "/usr/bin/wc: no such file"
about 30 of those path errors. Maybe the command path "./busybox" needs to be something else?

ah, okay. sorry, I thought you already installed an openrecovery. for many cool features you will need it (e.g. nandroid, for overclocking it's not a must but a nice-to-have). please don't use GOT, it's rather old already. androidiani is okay, I think.
I think your previous attempts to install busybox via the app etc. mixed up some internal links in the device. please reboot and try again (the above steps except the "cp ..."). seems like the app tried to install busybox to /usr/bin but failed... I hope this failed attempt will be fixed by a simple reboot. otherwise it would be great to have the output of:
Code:
# su
# ls /usr/bin

No I re-flashed my main sbf and also did a factory reset to do a clean start, only thing since that full wipe I have done is rooting in the method I described, installed the screenmode widget, textedit, and android terminal emulator.
I have no such file /usr, are you sure I should have this in droid/milestone?
Here is my full output of my root system using ls:
tmp
pds
cdrom
sqlite_stmt_journals
config
cache
sdcard
d
etc
system
sys
sbin
proc
init_prep_keypad.sh
init.rc
init.mapphone_umts.rc
init.mapphone_cdma.rc
init.goldfish.rc
init
default.prop
data
root
dev
perhaps "/usr" is a sub inside one of the above folders? I tried using "find" to find it but that command dosn't seem to work since it won't even find the ones I can see with ls

I found it, /usr is inside /system... so if busybox was moved to /system/xbin, I'm guessing the ./ means install it to the parent directory which was /system which /usr is also in.
The errors I got said no such file "/usr" so It seems like it is trying to install to the wrong directory.... perhaps the command should be "busybox --install" or "/busybox --install" I don't want to experiment and mess things up before your opinion on this.
*edit almost forgot, output of /system/usr is
keychars
bin
srec
keylayout
share
output of /system/usr/bin is
panic_daemon
gki_pd_notifier
nvm_daemon
clean_dex.sh
brcm_guci_drv
bplogd_daemon

This is really strange. Maybe your busybox-file is corrupt.
Where did you download the busybox-file?
Which sbf did you flash?
So for explanation-purposes: When you put an executable or script file in any directory, you can execute it by first making it executable ("chmod 755 /system/xbin/busybox"), changing to that directory ("cd /system/xbin") and then executing it by adding "./" in front of it. The dot slash always stands for the _current_ directory. The _parent_directory has two dots "../".
If you want, you may try:
# /system/xbin/busybox --install
instead of
# ./busybox --install
Or maybe try this one:
# /system/xbin/busybox --install -s /system/xbin
Last time, I installed busybox into the directory /data/busybox, which worked brilliantly, but this path turned out to be unpractical. So I wanted to reinstall it in a different directory. I removed everything from /data/busybox including the directory itself and tried to start the whole procedure with /system/xbin. But that time it protested, that there were no files in "/data/busybox/...". Conclusion: The last busybox-install affected the second one. When I remember correctly I rebooted after that and used the app from the market *g*

My main sbf I flashed was android 2.1(uk version).
I downloaded busybox 1.17.2(won't let me post url here), was from droidforums dot net.
I don't remember if I tried all of his commands, but the last one on that forum seems to have worked.. I think......... it was:
"busybox --install /system/xbin/"
After remounting with your commands and typing the above command, I didn't get any errors, I synced and rebooted and now when I "ls /system/xbin" it shows a bunch of files/names which look like busybox commands. When I type "busybox" it outputs a bunch of commands too... so I am guessing this means it has succesfully installed? I can't say I tried these before attempting install so I have no comparison but I assume I would have a different output if busybox wasn't installed.
So assuming it worked, why would
"busybox --install /system/xbin/" work, and
"/system/xbin/busybox --install" not?
I also managed to install open recovery and do a nandroid backup succesfully
I have another short question, not specific to android but happens in all terminals I use, windows and linux alike. Sometimes I cannot execute commands anymore and it just becomes text in the terminal(just re-echo'ing my text output, without executing any functions)... can't remember specifically when it happened on my windows or linux pc shells, but on my android it happens whenever I have to give "SU" permission to the terminal, I have to quickly close the terminal and reload it again to get su access. I'm sure there is a name for this "state" where you are locked out of using commands in the shell and just typing text but I can't find a way to get out of it(without closing and re-opening terminal), there must be some key combination to be able to execute commands again in the current terminal session. If you have any idea what I am talking about?
Thanks for all your help so far.

droidtech1 said:
My main sbf I flashed was android 2.1(uk version).
Click to expand...
Click to collapse
Don't want to try one of the 2.2?
droidtech1 said:
I downloaded busybox 1.17.2(won't let me post url here), was from droidforums dot net.
I don't remember if I tried all of his commands, but the last one on that forum seems to have worked.. I think......... it was:
"busybox --install /system/xbin/"
After remounting with your commands and typing the above command, I didn't get any errors, I synced and rebooted and now when I "ls /system/xbin" it shows a bunch of files/names which look like busybox commands. When I type "busybox" it outputs a bunch of commands too... so I am guessing this means it has succesfully installed? I can't say I tried these before attempting install so I have no comparison but I assume I would have a different output if busybox wasn't installed.
Click to expand...
Click to collapse
Yes, this sounds very much like installation was successful.
droidtech1 said:
So assuming it worked, why would
"busybox --install /system/xbin/" work, and
"/system/xbin/busybox --install" not?
Click to expand...
Click to collapse
typing "busybox" without the path in front of it worked, because busybox is in the directory /system/xbin, which is already in your $PATH-variable (try "echo $PATH"). So the command interpreter (shell) will automatically look up "busybox" in /system/xbin.
I had a look at the busybox syntax and it's actually
Code:
busybox --install [-s] [INSTALLDIR]
So you have to put the directory you want to install in at the end. That's what your last command makes use of
droidtech1 said:
I have another short question, not specific to android but happens in all terminals I use, windows and linux alike. Sometimes I cannot execute commands anymore and it just becomes text in the terminal(just re-echo'ing my text output, without executing any functions)... can't remember specifically when it happened on my windows or linux pc shells, but on my android it happens whenever I have to give "SU" permission to the terminal, I have to quickly close the terminal and reload it again to get su access. I'm sure there is a name for this "state" where you are locked out of using commands in the shell and just typing text but I can't find a way to get out of it(without closing and re-opening terminal), there must be some key combination to be able to execute commands again in the current terminal session. If you have any idea what I am talking about?
Click to expand...
Click to collapse
Sounds like this is just the state, when shell is busy, i.e. when the last process you started is still running and no prompt ($ or #) is displayed. You may kill the last process in linux using CTRL+C, which will hopefully bring back the shell prompt. No idea which shortcut replaces this on the milestone/droid. I never use any android terminals, but only the ADB-Shell: http://developer.android.com/guide/developing/tools/adb.html

I'm learning to build apps for android so I thought having 2.1 on my droid would be better for testing (instead of 2.2). I also have a Nexus-S with 2.3 and a tmobile-pulse with 1.5. So I want to keep the most native version on each phone since most consumers won't install custom roms, although some will get updates anyway.
I use my droid a lot when I am out and use the terminal a lot so having busybox too has given me more to play around with. I actually find my droid much better working on than the nexus s, love the keyboard and dpad.

Related

Messed up my superuser whitelist, help

Hi, I am on Darchdroid 2.7 and while I was trying to push Camera.apk to my phone I kept getting the "read only file system" message. I did not know at the time that the first thing I should've done was "adb shell" followed by "su" to make sure adb got onto the superuser whitelist.
Well, i proceeded to read around the net (here)and I used this command I saw around to get root:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cd /system/bin
cat sh > su
chmod 4775 su
Click to expand...
Click to collapse
And it worked, I was able to push the Camera.apk.
Now i have a problem though, when I use an app that requires root, it no longer brings up the superuser whitelist app even if I've chosen to forget them from the whitelist.
Titanium backup gives the following message:
Warning -
BusyBox works but the "su" command does not elevate to root: "whoami" reports "app_47" instead of root/uid 0. I think your "Superuser Whitelist" system app does not work. Please check with your ROM provider.
Click to expand...
Click to collapse
I searched around the net and I actually found a post regarding this from the dev behind Titanium Backup saying that if this message shows up, it means that the app is not properly communicating with the superuser whitelist....
Now, I believe that the commands I put in adb previously did away with the superuser whitelist and just gave root to whatever app asks for it, I don't know if I am correct.
Can anyone verify this? If so, is there a way to undo what I did? ..or will reflashing Darchdroid be my best option?
I really dont want to flash, I just got this rom settled in :\
Thanks in advance!

[Q] What is terminal emulator?

Is this so i can push files through my phone, without having to do it on the computer? How does this work. Anyone have a link? I did a search and came up with nothing. Just wondering, thanks!
It's the same as a Terminal on a unix/linux box or for that matter, command line on a windows box.
Terminal emulator app will give you command line access to your (rooted) phone. You can then go into SU mode, as well.
Yes, you are correct, it will allow you to do things that an ADB shell would allow, from a computer.
You can download it from the market.
im sure that you might have known this already, but when you are using a terminal emulator, and you get root access (su), you really should follow the directions to the letter. if you make a mistake in the typing, it is possible that you could do some damage.
it is also recommended to not enter in terminal commands unless someone with more experience than you (based off their post number) reports success in completing the wanted task. so essentially, use the terminal at your own risk.
(all this is pulled from my previous post which you can find in my signature - "Terminal/adb shell commands")
Adb commands are completely different than terminal commands.
First enter "su" to get substitute user (the # sign)
Then enter "mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system" to make the root r/w
to copy files use "cp" command
to move files use "mv" command
to remove files use "rm" command
to change file/dir permissions use "chmod"
to change directories use "cd" - "cd .." will bring you back one directory - "cd //" brings you back to root
to list files in the dir use "ls"
to read/mod/combine a file use "cat"
to edit a value use "echo"
to see running processes use "top"
to kill a process use "kill -9 PID#HERE"
ex) cp /sdcard/download/myapplication.apk /data/app/myapplication.apk
If you know any linux commands then you should know your way around terminal emulator. If you want i can give you more examples just let me know. Hope this helped
What does "cat" mean?
Oh my bad i didn't see it in there, all the times i lookedO sorry.
where could i get this app?
i couldnt find it on market using keyword "terminal", "terminal emulator" or even "adb terminal emulator"
bla.k.offee said:
where could i get this app?
i couldnt find it on market using keyword "terminal", "terminal emulator" or even "adb terminal emulator"
Click to expand...
Click to collapse
https://market.android.com/details?id=jackpal.androidterm&feature=search_result
Terminal Emulator Hell!!!!
I have wiped and restored more times tonight than I can count....HELP!!!! I have a very lean rom. So lean it that it has no file explorer and I don't want to install gapps. All I want to do is install Titanium Backup (the .apk file is on the root of my SD card) with the terminal emulator and I'll be all set. I have had all different error messages, and I'm more confused now then when I started this adventur, 6+ hours ago. Any help would be great.
hockeyfamily737 said:
I have wiped and restored more times tonight than I can count....HELP!!!! I have a very lean rom. So lean it that it has no file explorer and I don't want to install gapps. All I want to do is install Titanium Backup (the .apk file is on the root of my SD card) with the terminal emulator and I'll be all set. I have had all different error messages, and I'm more confused now then when I started this adventur, 6+ hours ago. Any help would be great.
Click to expand...
Click to collapse
I keep TB on the root of my sdcard named TB.apk. Then I go into terminal emulator (it is in most roms already).
su
cp /sdcard/TB.apk /data/app/TB.apk
Then I back out of TE and TB is installed. Any commands you type in TE are case sensitive. All file names are case sensitive and spaces do not work well. So if your TB apk is "Titanium Backup-1.3.3.apk", I would rename it to something without the spaces like Titanium_Backup-1.3.3.apk.
I rename it TB.apk because who wants to type all of that?
kyouko said:
(all this is pulled from my previous post which you can find in my signature - "Terminal/adb shell commands")
Adb commands are completely different than terminal commands.
First enter "su" to get substitute user (the # sign)
Then enter "mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system" to make the root r/w
to copy files use "cp" command
to move files use "mv" command
to remove files use "rm" command
to change file/dir permissions use "chmod"
to change directories use "cd" - "cd .." will bring you back one directory - "cd //" brings you back to root
to list files in the dir use "ls"
to read/mod/combine a file use "cat"
to edit a value use "echo"
to see running processes use "top"
to kill a process use "kill -9 PID#HERE"
ex) cp /sdcard/download/myapplication.apk /data/app/myapplication.apk
If you know any linux commands then you should know your way around terminal emulator. If you want i can give you more examples just let me know. Hope this helped
Click to expand...
Click to collapse
Sent you a pm
#Root/Hack_Mod-Always®

BusyBoX

I have busybox 1.6 on my captivate i see on www.busybox.net 1.17.3 is out. I have downloaded it from the site and its a tar file with a folder with a whole bunch of folders and files. How do you install this?
Are you familiar with the phrase, "if it isn't broken, don't fix it?"
I advise you to heed its warning.
But if you must proceed, a quick google search for "how to install busybox manually" brings up this very good result: http://www.droidforums.net/forum/droid-2-hacks/82573-busybox-manual-install-how-guide.html
Edit: By the way, love the avatar. Great album.
Yes i understand if its not broke don't try to fix it but i'm a OCD updater! Would there be any advantages of updating it? P.S. I saw Megadeth and Slayer a month ago they rocked!
Only advantages I can see are having a couple more bug fixes and maybe 4-5 new commands built in.
Download Busybox-1.17.2 HERE
Extract busybox to your SD Card
Make sure you are in PC Mode and Debugging is enabled in Applications options
adb shell
su
stop
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
cp /sdcard/busybox /system/xbin/
cd system/xbin
busybox --install /system/xbin/
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
sync
reboot
You can also use Root Explorer or whatever file browser you may use to copy busybox to your system/xbin folder. Some people use system/bin but I prefer xbin...just a habbit.
Click to expand...
Click to collapse
Ya, I read that and got really scared.
What is PC mode and where do you type these commands? (Vista user)
Ok, figured out how to type in the commands and stuff, but I get stuck on the "cp /sdcard/busybox /system/xbin/" part, I get "cp: not found" I tried lookin up other methods and I keep getting stuck at the same part - trying to move the folder to the xbin folder. adb push gives me the same error - adb: not found.
any help would be appreciated.
Cruton502 said:
Ok, figured out how to type in the commands and stuff, but I get stuck on the "cp /sdcard/busybox /system/xbin/" part, I get "cp: not found" I tried lookin up other methods and I keep getting stuck at the same part - trying to move the folder to the xbin folder. adb push gives me the same error - adb: not found.
any help would be appreciated.
Click to expand...
Click to collapse
Are you rooted? If your answer is yes, just download Busybox from the market and let the app do the installing for you.
miztaken1312 said:
Are you rooted? If your answer is yes, just download Busybox from the market and let the app do the installing for you.
Click to expand...
Click to collapse
Brilliant! Sooo much easier, but I'm not NAND unlocked, I'm z4rooted so it wouldn't install. Tomorrow I'll see if I can root through NAND.
I'll break you yet AT&T!
Cruton502 said:
Brilliant! Sooo much easier, but I'm not NAND unlocked, I'm z4rooted so it wouldn't install. Tomorrow I'll see if I can root through NAND.
I'll break you yet AT&T!
Click to expand...
Click to collapse
I think you're seriously confused. The Captivate isn't a NAND locked phone. Generally when you root, busybox is installed. (I think. At least it always was for me.) You could also try installing Titanium Backup and have that install busybox for you.

Custom Recovery without Root?

I had previously unlocked my bootloader and was running CM6.1, but I had to go back to stock because my company's email app (Good for Enterprise) refuses access on rooted devices.
I would like to monkey around with different configurations to see if I can find a way to run Good on CM6.1. I don't want to do this if I have to reinstall everything if it doesn't work however.
So my question is this. I just want to get the Clockwork recovery on my N1 so I can back up the non-rooted OS and monkey around a little. Can this be done with ABD on a non-rooted device?
Gave it a shot, worked fine.
"fastboot flash recovery clockwork-image-name.img"
Good for Enterprise still runs, so it isn't looking at the recovery to determine rooted status.
Nevermind, clockwork didn't survive a reboot. Good news is I was able to get a backup first.
After installing recovery via fastboot, try removing the following files via adb:
/system/etc/install-recovery.sh
/system/recovery-from-boot.p
Sent from my Nexus One using XDA App
danger-rat said:
After installing recovery via fastboot, try removing the following files via adb:
/system/etc/install-recovery.sh
/system/recovery-from-boot.p
Sent from my Nexus One using XDA App
Click to expand...
Click to collapse
When I try to do this from the recovery, these files are not found, and adb can't see the device from the bootloader. If I boot into the OS, it will be too late - the recovery would be wiped by then and I am back to square one. I must be missing something.
Is there any way to pull the System partition and mount the .img file on my PC to do this? That sounds a little dangerous though
Just thought, you need root to delete the files.
You'd probably have to root, install recovery, then install a non-rooted ROM, but keep custom recovery...
Sent from my Nexus One using XDA App
This is what you need to do:
1) boot your device into the OS
2) download the rageagainstthecage binary and save it as rageagainstthecage in the /tools folder (in the android SDK)
3) plug your device to your computer
4) open a command prompt in the /tools directory
5) type adb devices to make sure your computer sees your device
6) push the rageagainstthecage binary to /data/local/tmp/ by typing adb push rageagainstthecage /data/local/tmp/rageagainstthecage
7) type adb shell to open a shell
8) change the permissions on the binary to allow it to run by typing chmod 700 /data/local/tmp/rageagainstthecage
9) navigate to the directory (cd /data/local/tmp) and execute the binary by typing ./rageagainstthecage
10) wait for it to run, and it will exit the shell
enter the following command at the prompt: adb kill-server
11) enter the following command at the prompt: adb start-server
12) open an adb shell again: adb shell
13) now you should have a temporary root shell. You should see a # instead of a $. if you still see the $, go back to step 9. You may have to do this a few times (I had to do it 3 times before I got root access)
14) now, mount the /system partition as r/w by typing mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
15) delete the two files: rm /system/etc/install-recovery.sh and rm /system/recovery-from-boot.p
16) mount the partition as r/o by typing mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
17) exit the shell
18) now flash your custom recovery
Awesome, thanks. I'll give it a shot later!
This worked flawlessly, thanks for the great writeup!
Santoro said:
This worked flawlessly, thanks for the great writeup!
Click to expand...
Click to collapse
Two things: First, don't forget that any update from Google always has those two files in it, so they will reappear after every update.
Second, I just reread your first post again. I think you should still be able to kepp root and have your company's email working. I think the problem was that you were using an AOSP-based ROM instead of a stock-based one. Follow the directions for rooting in my signature (the first part is essentially the same as what you just did to gain r/w access to the system partition via adb, the second part is copying su and Superuser.apk to the right directories). Root is essentially one additional file copied to your /system directory, so I believe your company's email will still work with root.
efrant said:
This is what you need to do:
1) boot your device into the OS
2) download the rageagainstthecage binary and save it as rageagainstthecage in the /tools folder (in the android SDK)
3) plug your device to your computer
4) open a command prompt in the /tools directory
5) type adb devices to make sure your computer sees your device
6) push the rageagainstthecage binary to /data/local/tmp/ by typing adb push rageagainstthecage /data/local/tmp/rageagainstthecage
7) type adb shell to open a shell
8) change the permissions on the binary to allow it to run by typing chmod 700 /data/local/tmp/rageagainstthecage
9) navigate to the directory (cd /data/local/tmp) and execute the binary by typing ./rageagainstthecage
10) wait for it to run, and it will exit the shell
enter the following command at the prompt: adb kill-server
11) enter the following command at the prompt: adb start-server
12) open an adb shell again: adb shell
13) now you should have a temporary root shell. You should see a # instead of a $. if you still see the $, go back to step 9. You may have to do this a few times (I had to do it 3 times before I got root access)
14) now, mount the /system partition as r/w by typing mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
15) delete the two files: rm /system/etc/install-recovery.sh and rm /system/recovery-from-boot.p
16) mount the partition as r/o by typing mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
17) exit the shell
18) now flash your custom recovery
Click to expand...
Click to collapse
Without unlock recovery i can install Amon RA?(‘fastboot oem unlock‘)In this way as u typed.
W3ber said:
Without unlock recovery i can install Amon RA?(‘fastboot oem unlock‘)In this way as u typed.
Click to expand...
Click to collapse
Not sure what you are asking.
If your bootloader is unlocked, you can use fastboot. Download the recovery image you want into the /tools directory of your SDK and rename it recovery.img. Open a command prompt in the same directory. Type fastboot devices to make sure fastboot sees you device. Then type fastboot flash recovery recovery.img and you are done.
If your bootloader is not unlocked, you can use flash_image, but you need root access. See attachments on how to get root if your bootloader is locked, and how to flash a custom recovery with a locked bootloader.
efrant said:
Two things: First, don't forget that any update from Google always has those two files in it, so they will reappear after every update.
Second, I just reread your first post again. I think you should still be able to kepp root and have your company's email working. I think the problem was that you were using an AOSP-based ROM instead of a stock-based one. Follow the directions for rooting in my signature (the first part is essentially the same as what you just did to gain r/w access to the system partition via adb, the second part is copying su and Superuser.apk to the right directories). Root is essentially one additional file copied to your /system directory, so I believe your company's email will still work with root.
Click to expand...
Click to collapse
I was using the Nexus One 2.2.1 stock image directly from Google. My problem is that the Good for Enterprise actively checks for root. Specifically if the Superuser.apk exists, it refuses to let me in and cites corporate policy.
Since getting my stock backup, I was free to experiment and I had some success getting Good running on CM 6.1. Taking clues from your earlier instructions, I used adb shell to rename su to su.bak and Superuser.apk to Superuserapk.bak on the phone, then rebooted. After the reboot, I don't have root anymore.
This is a compromise, but at least I don't have to give up that CM6 goodness just to use my corporate email. So far I have not seen any issues in CM6 resulting from not having root. In an emergency I can rename them the superuser files back using rageagainsthecage as you outlined but I probably won't do it often.
Thanks for the help!
Santoro said:
I was using the Nexus One 2.2.1 stock image directly from Google. My problem is that the Good for Enterprise actively checks for root. Specifically if the Superuser.apk exists, it refuses to let me in and cites corporate policy.
Since getting my stock backup, I was free to experiment and I had some success getting Good running on CM 6.1. Taking clues from your earlier instructions, I used adb shell to rename su to su.bak and Superuser.apk to Superuserapk.bak on the phone, then rebooted. After the reboot, I don't have root anymore.
This is a compromise, but at least I don't have to give up that CM6 goodness just to use my corporate email. So far I have not seen any issues in CM6 resulting from not having root. In an emergency I can rename them the superuser files back using rageagainsthecage as you outlined but I probably won't do it often.
Thanks for the help!
Click to expand...
Click to collapse
Just for your info, Superuser.apk does not give you root, it only manages the root permissions. If your corporate email application checks only for Superuser.apk, you could technically delete Superuser.apk and keep the su binary. Your would still have root, and your corporate email app would work. The su binary is what actually gives you root access. All that the Superuser.apk file does is manages the permissions for root access, i.e., it allows or denies applications from using the su binary. Everything would work fine (including all apps that require root) without Superuser.apk. HOWEVER, just as a warning, without Superuser.apk, you would have no control over which apps have root access...
I will have to put su back and see what happens. I may be recalling wrong, maybe it checks for su also...
I experimented a bit more and it looks for both files. Sorry for the confusion.

[SOLVED][Q] 4.4.3 after restart restores previous values

Hi!
I have problem with my HTC One m7 (ViperOne 7.0.1).
While I changed something in /system/app folder (eg. deleted a "DriveActivator.apk" - successfully accomplished) and restart phone, I see again that deleted app!!!
Do you know why? I'm using RootExplorer, I have root and granted permissions to r/w.
It seems like system restores some kind of backup - I don't know why, and I don't know how to fix it (I mean do some permanent changes in /system/app).
dry3333 said:
Hi!
I have problem with my HTC One m7 (ViperOne 7.0.1).
While I changed something in /system/app folder (eg. deleted a "DriveActivator.apk" - successfully accomplished) and restart phone, I see again that deleted app!!!
Do you know why? I'm using RootExplorer, I have root and granted permissions to r/w.
It seems like system restores some kind of backup - I don't know why, and I don't know how to fix it (I mean do some permanent changes in /system/app).
Click to expand...
Click to collapse
It appears that the System isn't booted with RW capabilities
There's a nice long command that I'll give you later that will fix it
If you wanna get it sooner and aren't afraid of adb shell (make sure you have root access enabled for adb AND apps, not just apps) you can Google remount Linux system read/write and you should find it
You'll need to modify that command to reflect the One, but the name of the partition should be something like by-name-system or something
I'll get it later if you need it when I wake up
ajbiz11 said:
It appears that the System isn't booted with RW capabilities
There's a nice long command that I'll give you later that will fix it
If you wanna get it sooner and aren't afraid of adb shell (make sure you have root access enabled for adb AND apps, not just apps) you can Google remount Linux system read/write and you should find it
You'll need to modify that command to reflect the One, but the name of the partition should be something like by-name-system or something
I'll get it later if you need it when I wake up
Click to expand...
Click to collapse
Thanks mate!
Stupid question - how I can check whether I have root access enabled for adb and apps? I have superuser app, and in settings I can see: "Superuser Access: Apps and ADB" - is this what you are wrote about?
dry3333 said:
Thanks mate!
Stupid question - how I can check whether I have root access enabled for adb and apps? I have superuser app, and in settings I can see: "Superuser Access: Apps and ADB" - is this what you are wrote about?
Click to expand...
Click to collapse
That's exactly what I'm referring to (The settings thing)
Lemme go find that command for you
---------- Post added at 06:00 AM ---------- Previous post was at 05:56 AM ----------
Wish I knew this existed when I was working on the L port
There's an app to do exactly what you need without looking up partitions
https://play.google.com/store/apps/details?id=com.beansoft.mount_system
Although if you want to go through terminal, here's a tutorial
http://ckirbach.wordpress.com/2012/11/27/how-to-remount-system-as-read-write-in-android/
Basically, you use grep to find the name of the system partition, then run the mount command to remount the partition you found in that precious step
I have this app: Mount /system (rw / ro), also I have this option in superuser and it works fine - I mean that I can change /system/app or for eg. edit /etc/hosts (I get message that ES explorer granted superuser access), but after restart I see previous files (before changes)... I have no idea how make this work - maybe I need custom kernel or something? I want to make permanent changes in system files...
I have reinstalled system (clean option with wipe all data), but still no results...
dry3333 said:
I have this app: Mount /system (rw / ro), also I have this option in superuser and it works fine - I mean that I can change /system/app or for eg. edit /etc/hosts (I get message that ES explorer granted superuser access), but after restart I see previous files (before changes)... I have no idea how make this work - maybe I need custom kernel or something? I want to make permanent changes in system files...
I have reinstalled system (clean option with wipe all data), but still no results...
Click to expand...
Click to collapse
The remount app should do exactly that
Try the command option and make your changes then reboot
ajbiz11 said:
The remount app should do exactly that
Try the command option and make your changes then reboot
Click to expand...
Click to collapse
I have tried - still no results. My system already has RW permissions. Problem is that after restart my files are "restored".
Analogously like in Cisco IOS - commit but without write memory.
Maybe I should go to recovery and do something (but I don't know what)?
dry3333 said:
I have tried - still no results. My system already has RW permissions. Problem is that after restart my files are "restored".
Analogously like in Cisco IOS - commit but without write memory.
Maybe I should go to recovery and do something (but I don't know what)?
Click to expand...
Click to collapse
Check the Viper forum and maybe post there
I only run CM-base so I'm not too experienced with Sense issues
ajbiz11 said:
Check the Viper forum and maybe post there
I only run CM-base so I'm not too experienced with Sense issues
Click to expand...
Click to collapse
Thanks - they said they don't know, but it affects S-ON users....
Can You tell me one thing - I execute this script:
echo off
adb reboot
cd /d %~dp0
echo .
echo Waiting for device...
adb wait-for-device
echo.
adb -d shell stop
adb -d shell su -c "mount -o remount rw /system"
adb -d shell rm /system/app/DriveActivator.apk
adb reboot
This should remove DriveActivator (while script is ongoing I see no errors), but after reboot DriveActivator.apk is still in /system/app...
Is there any other way to permanently remove/change files in /system/app?
dry3333 said:
Thanks - they said they don't know, but it affects S-ON users....
Can You tell me one thing - I execute this script:
echo off
adb reboot
cd /d %~dp0
echo .
echo Waiting for device...
adb wait-for-device
echo.
adb -d shell stop
adb -d shell su -c "mount -o remount rw /system"
adb -d shell rm /system/app/DriveActivator.apk
adb reboot
This should remove DriveActivator (while script is ongoing I see no errors), but after reboot DriveActivator.apk is still in /system/app...
Is there any other way to permanently remove/change files in /system/app?
Click to expand...
Click to collapse
You can remove it from the ViperROM zip and format ONLY system and reflash
That SHOULD work
That's like...the be all end all
dry3333 said:
Thanks - they said they don't know, but it affects S-ON users....
Can You tell me one thing - I execute this script:
echo off
adb reboot
cd /d %~dp0
echo .
echo Waiting for device...
adb wait-for-device
echo.
adb -d shell stop
adb -d shell su -c "mount -o remount rw /system"
adb -d shell rm /system/app/DriveActivator.apk
adb reboot
This should remove DriveActivator (while script is ongoing I see no errors), but after reboot DriveActivator.apk is still in /system/app...
Is there any other way to permanently remove/change files in /system/app?
Click to expand...
Click to collapse
Make life simple: erase the apk while in custom recovery, TWRP has a file manager, or you can use Aroma File Manager
even adb commands while booted in custom recovery are better than booted up ROM.
nkk71 said:
Make life simple: erase the apk while in custom recovery, TWRP has a file manager, or you can use Aroma File Manager
even adb commands while booted in custom recovery are better than booted up ROM.
Click to expand...
Click to collapse
Thanks for advice. Is it possible via TWRP not only remove file, but also replace it? Where shoul I place new file for replace original one?
dry3333 said:
Thanks for advice. Is it possible via TWRP not only remove file, but also replace it? Where shoul I place new file for replace original one?
Click to expand...
Click to collapse
I would recommend using the Aroma File Manager instead of TWRP's, just place all the files you'll need on your internal storage (including Aroma File Manager), then reboot to select "Install" to run the Aroma File Manager and remove/replace whatever you need to.
You may need to also check if the permissions are right, I can't remember if Aroma File Manager has that built in.
remember that once you are in recovery to mount /system (in the Mount menu)
and you can even use adb shell, and adb push commands to replace the .apk.... i'm just guessing it's easier with a GUI interface.
nkk71 said:
I would recommend using the Aroma File Manager instead of TWRP's, just place all the files you'll need on your internal storage (including Aroma File Manager), then reboot to select "Install" to run the Aroma File Manager and remove/replace whatever you need to.
You may need to also check if the permissions are right, I can't remember if Aroma File Manager has that built in.
remember that once you are in recovery to mount /system (in the Mount menu)
and you can even use adb shell, and adb push commands to replace the .apk.... i'm just guessing it's easier with a GUI interface.
Click to expand...
Click to collapse
The windows drivers don't work with recovery mode (usually)
ajbiz11 said:
The windows drivers don't work with recovery mode (usually)
Click to expand...
Click to collapse
they do for me, but sometimes (after flashing a new/different version) i have to manually select the drivers, check FAQ#2 here: http://forum.xda-developers.com/showpost.php?p=52135024&postcount=2
I would like to thank you for advice. I did this via TWRP (after I had mounted /system). It works fine for me
dry3333 said:
I would like to thank you for advice. I did this via TWRP (after I had mounted /system). It works fine for me
Click to expand...
Click to collapse
sure, no problem :good: :good:
if all is good now, can you also edit main thread title to include [SOLVED], thanks
edit the first post -> at the bottom of the edit window, click Go Advanced, and then you can edit main title

Categories

Resources