Hi all--in need of some help here--have been crusing the forums for three days and still hitting a brick wall...
Have a rooted (and minimally modded) Atrix 4g in serious need of a hard reset and all the pain that comes with as nearly every app force closes on startup.
Hoping to backup some of my data (contacts, SMS, etc), but unable to do so my usual way (an app, root explorer, or the like), so I'm attempting to use ADB pull to grab the .db files. I'm relatively comfortable with linux, but running into a problem with ro/rw permissions (I think).
have tried the following:
adb pull /data/...../mmssms.db (yields Permission Denied)
# cp /data/....mmssms.db (appears to copy, but no file in destination, and can't copy out of shell)
have been able to remount /system as rw, but not /data where the files are located.
Anybody have suggestions? I'd be most apprecative!
Copy the the files as superuser to your sdcard first and adb pull them from there.
Unfortunately, the whole reason I'm needing to reset is that every app (incl superuser accesses) force closes on start--no chance to move through the phone itself. Since the .db files are not in the usb-accessible file structure I'm thinking that ADB is the only way to access.
Does that make sense?
Hi, OP here--anybody else have a suggestion? Getting a little desperate here... Any thoughts would really be appreciated!
im assuming your accessing ADB via recovery?
You should be able to use su without superuser.apk's permission in that case - however, theoretically, you should not need to use su in recovery anyway.
you can try running
Code:
adb shell ls -l /data/data/*tele*/databases/mmssms.db
and see what you get permissions wise, maybe a chmod could fix it?
Otherwise you could try
Code:
adb shell mount -o remount,rw /data
Another alternative to cp and adb pull is cat
Code:
adb shell cat /path/to/mmssms.db > /path/to/destination-file.db
might copy remote mmssms.db to a local file, while
Code:
adb shell
cat /path/to/mmssms.db > /path/to/destination-file.db
exit
would copy remote to remote
Is /data mounted at all?
This is strange, you should have read access to everything, especially in recovery.
What phone and what recovery?
Its not something as simple as geting the URIs the wrong war round ('cmd local remote' vs 'cmd remote local')?
So, still tinkering... Will give it one last try before I call it quits and just wipe the bloody thing. So, your thoughts were spot on--its probably me missing something.
Quick data dump on progress to data:
Phone: Rooted Motorola Atrix running 2.2
no trouble accessing shell or via ADB
/data is mounted, though only in Read Only mode--can't seem to change, have tried several ways in various modes (shell, su, etc)
Permissions for mmssms.db are: -rw-rw---- radio radio
chmod 777 of the file yields: "Read-only file system," which makes sense since I can't seem to change /data... to rw
Tried to remount rw:
adb shell mount -o remount,rw /data
and
mount -o remount,rw -t yaffs2 /dev/block/mmcblk0p11 /system (for systeem
but get "Operation not permitted" in both cases.... UGH!
Hadn't thought of cat--great idea. Still no real joy however.
I seem to have managed a copy to /system, but can't seem to get it off the device or onto the SD card.
Thanks much for your help so far. Any final thoughts?
SO CLOSE!!!! (and yet...)
crags said:
Hadn't thought of cat--great idea. Still no real joy however.
I seem to have managed a copy to /system, but can't seem to get it off the device or onto the SD card.
Click to expand...
Click to collapse
SO FRUSTRATING!!!! so close, but not quite there--HELP!!!
As noted at the end above, have been able to copy the mmssms.db file to /system/ after remounting as RW
Can't seem to copy or pull off the device--still getting "Permission Denied" no matter which course I try!?!?!
It sounds as if your doing this while booted into the ROM, and (maybe) without su (root)?
su-ing might help, just type su and hit return to enter a root shell
alternatively, going in through recovery ('adb shell reboot recovery') might help as most recoveries ignore permission rules - make sure to mount the partitions your using though.
It almost sounds like the sdcard has no write permissions - you can get the NAND partitions to mount rw, but cant copy to the sdcard.
On my Desire, there is (at least) two mount points: /sdcard and /mnt/sdcard - maybe on your phone only one of your mount points has write permissions?
Otherwise i suggest going in via recovery. You can still use adb (will have to manually mount - 'mount /system' 'mount /date' and 'mount /sdcard' usually work, otherwise use the menu item in recovery )
When in recovery, and after mounting partitions/card, try adb pull, cp /sdcard and cat > sdcard (and if possible cat > computer) plus anything else i forgot (quite tired )
if these dont work something is messed up somewhere in the ROM, or likely kernel and so without ideas a reflash would be the only real solution :/
I did have a bare-minimum+apps recovery script (attached) which might be worth a read to see if your forgetting something obvious - it works on my desire
alt link: http://forums.androidcentral.com/sa...-guide-stock-2-3-6-replenish.html#post1651482
REVISED TUTORIAL IN ROOTING 2.3.6 SAMSUNG REPLENISH
warning for experienced adb users!: this was made with noobs in mind. you may learn something (from me! a noob! XD) but anyways, enjoy!
this does not affect anything on the phone except for adding the ability to access root permissions. CWM is not permanent, it disappears after you use it, and nothing on the phone is affected, as far as i know, but i had just factory reset the phone, so use at your own risk...
you may need to know:
root of a drive- drives are designated C:\ or D:\ or whatever letter in windows. Just go to "computer" and double click the first item. That location is the "root" of a drive.
Note: make sure you have at least 400 mb of memory (i know, thats alot, but just in case) on your sd card so you can back up your entire phone! i reccomend doing every optional step!!! It'll save you hassle if you have problems. If you can't make room for some reason, and you still wanna try, you should skip step 8. I don't suggest it though.
1. download "odin.zip" and "su" here: https://www.box.com/shared/620b03e95cc0814fefc8 and unzip to your desktop. if you dont have the android sdk, simply copy the "adb.exe" file from "odin.zip" to the root of your primary drive for later. Just go to "computer" and double click the top icon/item. It should say something about C:/. If you're on Mac, sorry. Idk much about it. As for Linux, I have no clue how you'd even try to do this. I love Linux but, sadly, can't experiment with this in it. WINE has its limits....... And I don't think adb or Odin would work.
2. download the "su" file and put into into "platform-tools" where you installed the android sdk, if you have it, or put onto the root of your primary drive if you havent.
3. start phone while holding "spacebar" and "p". "downloading..." should appear on the screen in yellow text
4. plug into the computer and run "Odin_Multi_Downloader_v4.42.exe"
5. select SPHM580.ops for "OPS" and Replenish-CWM5.tar for "One Package" (they should be the only options) DO NOT CHANGE ANYTHING ELSE!!!!!
6. hit "Start" and DO NOT REMOVE PHONE FROM USB.
7. as the phone reboots, hold "u" until CWM opens and set the phone down. you should close Odin now.
8. use the volume keys to navigate to the backup and restore option and use enter to select backup. wait for it to finish completely and take you back to the the CWM main UI. backing up here creates a pure recovery, untouched by anything. CWM is NOT installed into this recovery. continue with the guide.
9. open the command prompt (type cmd.exe in search or run in the start menu, depending on your version of windows) or use some form of terminal emulator on your operating system of choice. command prompt is preferred due to the fact i know it can get the job done, but do what you will.
10. navigate to the drive your sdk is on and into "platform-tools" or to the folder you put the adb.exe and su files on. the default should be [name of drive]:\Users\[username]\. use the "cd.." command til youre at the root of the drive, and if you installed the sdk, type "cd android-sdk-windows/platform-tools" or just go to the root of the drive and go to the next step if you havent. just be sure adb.exe and su are there.
11. type this in line for line, with enters in between. the blue "~#" in the later lines is the prompt you should have. do not type this. it will be in blue. (clockworkmod should still be open on your phone at this point)
adb shell
~#mount -o remount,rw -t rfs /dev/block/stl12 /system
~#exit
adb push su /system/bin/
adb shell
~#chmod 777 /system/bin/su
~#reboot
DO NOT CLOSE THE COMMAND PROMPT YET FOR THE SAKE OF CONVENIENCE
If you have problems with that, try using CWM to mount "/system". Some friendly people over at androidcentral pointed that out. I personally didn't have that problem, but I'm glad it's fixed.
12. when your phone has rebooted, go back to the open command prompt, which should be where it was before you typed "adb shell"
13. type "adb shell". you will see a prompt of "$." type "su." if you have a prompt of "#" rejoice! you have permanent root! now you can go on the Play Store and find "Superuser" and "Busybox" (they should be free. if you cant find it, get ahold of me and ill try to supply the newest updates) if not, and you have a backup from optional step 2, you should go through til you hit CWM and restore the backup. if not, make one now and reattempt everything aside from downloads and the moving the files around on your computer. Also, someone said something about "chmod 06755 /system/bin/su", so if you might try using that instead of "chmod 777 /system/bin/su". 777 worked for me, but maybe this works better for you.
OPTIONAL FINISH STEP: I dont know how you install CWM permanently, but you should do this so you can make backups of your rom and store them somewhere like on a box.com or mediafire.com account if you decide to mess with something on your phone. (use hjsplit to break it into pieces for uploading and reassemble after download for flashing if its too big). to use a recovery, enter CWM (either the way i have here or if you have permanently installed, just reboot and hold "u") and navigate to "backup and restore," "restore," and select the recovery you wish to use on your sd card (make sure when you take out a backup for storage, you zip up the entire folder with the name that contains the date and time of your backup.) it will overwrite everything on your phone to be exactly like it was when you backed it up.
good luck! have fun!
Note: if you rename the CWM backup file, make sure it DOESN'T HAVE A SPACE or it'll give you something about md5 or something not matching. If it says this, remove any spaces in the name and try again. I had it happen on my xperia play and freaked, thinking it was soft-bricked permanently one time, til I found out about cwm's glitch with that.
Also, I uploaded pretty much everything needed for rooting the phone, with comments pertaining to each file. This includes current (as of July 31, 2012) copies of Superuser.apk, a busybox installer, and the busybox and su binaries, as well the Odin package containing the tools to temp flash CWM.
the odin.zip file and the process of achieving CWM temp-flashing was found at http://forums.androidcentral.com/sa...method-samsung-replenish-android-2-3-6-a.html and credit for that part is given to joshua.worth, although I took it a different path than he did.
Update to above info: to simplify things, I uploaded all relevant files to box so people can get them easier. The su file went missing from xda, most importantly, so I fixed that, and added an updated binary in case someone has trouble with the other one.
contact me at [email protected] if you cant pm me.
Sorry if it takes a while to respond. Life's been kinda crazy for me lately, and I am using my new phone (no service) to do this over wifi.
ahh... well, turns out unrooting cannot be done with a CWM backup... you probably have to find a nandroid or a clean version of kernel with rom. the su file dissapears, although root is still there. ill keep playing with it, i have an idea why root stays although su disappears from the system files. anyways, i will still supply a backup thats pre-rooted for anyone who is willing to have a fresh start on their replenish. it will have superuser.apk preinstalled along with busybox, and everything else will be wiped. this will be a sprint backup, so if anyone has the boost version and is willing to back up with CWM and factory reset, then follow my guide, install busybox and superuser.apk, then back it up again, id be eternally grateful to have a copy
by the way, if anyone has problems with restoring a backup due to "md5" tags or whatever it is, make sure the name of the backup has no spaces. i was freaking out til i found that tip on an obscure forum (well, to me. i dont have a Motorola. lol. just a Sony Ericsson and 2 Samsungs)
update: sorry i havent uploaded the backup. i realized it would give whoever used it the number on this phone and i have to fix that. havent had time to anyways, plus it would only work on a sprint phone. it would convert any boost mobile to sprint, so thats a no-go. sorry...
does this work for the boost mobile replenish that is 2.3.6 if so how long does it take to odin
It should work. And Odin just flashes cwm (really fast) for the duration of the next boot cycle, which it automatically initiates, so hold the recovery button (I think it's u) as it goes into it and you'll have temp root. Make sure it's in download mode before you start. Remember, it cannot be unrooted, so if you value your warranty, plz think twice before doing it. I'm just here to supply the how-to if you decide to, not to say you have to. If you do, enjoy root access!
isavegas said:
It should work. And Odin just flashes cwm (really fast) for the duration of the next boot cycle, which it automatically initiates, so hold up (I think it's u) as it goes into it and you'll have temp root. Make sure it's in download mode before you start. Remember, it cannot be unrooted, so if you value your warranty, plz think twice before doing it. I'm just here to supply the how-to if you decide to, not to say you have to. If you do, enjoy root access!
Click to expand...
Click to collapse
Thanks. I did not know if there is a fail safe if something went wrong. so I was second guessing. Very simple to do thank you assuming with odin I made a back up. if I where to mess my system up I can use odin and restore my backup and I be back up and running again no need to sbf
i keep getting : ~ # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount: mounting /dev/block/mtdblock3 on /system failed: Invalid argument
bscabl said:
i keep getting : ~ # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount: mounting /dev/block/mtdblock3 on /system failed: Invalid argument
Click to expand...
Click to collapse
hmm... i am familiar with the error (ive gotten it with 3 different phones in my attempt to root it, but i have succeeded each time regardless) but are you sure you actually have clockworkmod OPEN on your phone when the error shows up? i cant actually do anything from my end, because i no longer have a computer i can use to test anything, or the replenish i rooted with the method... but i opened the cwm several times before thinking to test the adb and seeing the "~#". i actually restarted the phone and did it again before actually rooting it, seeing if i had rooted it or what, and tho i got the same prompt every time it was booted in cwm, it wouldnt show up if i allowed the phone to boot normally after using odin, i HAD to ACTUALLY boot into the cwm menu, which is completely seperate from the OS itself, although it has access to the system files.
by the way, copy and paste this directly into the command prompt when you get to the step to avoid human error. mount -t rfs -o remount,rw /dev/block/stl9 /system
or, if it wont work, try this mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system
sorry bout the babbling XD. anyways, cwm should be circumnavigating the root permissions. hmm.... if you still have problems after that, try skipping to the adb push for the "su" file.
sorry i havent been on top of the thread. ill set up an email notification.
and by the way, something i found very useful on my xperia play when it went into infinite reboot, you can always just restore the system files in the advanced restore option, allowing you to keep all of your app data if, later down the line, your phone needs to be restored. hope this helps. it helped me XD thought id lose all of my messages, but nope. i decided to explore the advanced restore and yay! i got to keep them XD
UPDATE
I don't know if it matters to you anymore, but apparently, some people have trouble with this and fix it by going to the mount menu in CWM and mounting /system
Couple of corrections:
chmod 777 /system/bin/su
should be chmod 06755 /system/bin/su
and then following that command should be
ln -s /system/bin/su /system/xbin/su
and I saw someone say this is unrootable. Thats not correct. Simply running the unroot script would unroot. Doomlord made a nice one.
To use it do the following:
Code:
adb push unroot /data/local/
adb shell chmod 777 /data/local/unroot
adb shell su -c "/data/local/unroot"
adb reboot
[code]
The above will unroot almost any android device.
halfcab123 said:
Couple of corrections:
chmod 777 /system/bin/su
should be chmod 06755 /system/bin/su
and then following that command should be
ln -s /system/bin/su /system/xbin/su
and I saw someone say this is unrootable. Thats not correct. Simply running the unroot script would unroot. Doomlord made a nice one.
To use it do the following:
Code:
adb push unroot /data/local/
adb shell chmod 777 /data/local/unroot
adb shell su -c "/data/local/unroot"
adb reboot
[code]
The above will unroot almost any android device.[/QUOTE]
Unfortunately, Doomlord's method didn't work on it. I tried all manner of one clicks and manual versions and only this got even temporary root. It's a workaround based on forcing the phone to boot into a custom recovery. (I call it custom bc its not an "official" recovery.) And I chose the chmod by looking through many manual ways to root, and that one was popular, and it works. I had full root access afterwards. I tried to unroot afterwards, however, so I could take screenshots and stuff, but the su file would reappear, even after manual deletion or restoring to an unrooted backup. Anyways, point is, this is the only method I could get to work at all, and it does work.
But the "chmod" night help other people, so ill make note of it in the post just in case. Thanks for the info.
Sent from my rooted R800at using xda app-developers app
Click to expand...
Click to collapse
Important fix----
If step 11 doesn't work, go to the "mount" menu in cwm and mount /system. Some people on androidcentral were kind enough to mention that this fixed their problem with mounting /system as rewritable
Sent from my R800at using xda app-developers app
isavegas said:
Important fix----
If step 11 doesn't work, go to the "mount" menu in cwm and mount /system. Some people on androidcentral were kind enough to mention that this fixed their problem with mounting /system as rewritable
Sent from my R800at using xda app-developers app
Click to expand...
Click to collapse
thats because your command is wrong
shabbypenguin said:
thats because your command is wrong
Click to expand...
Click to collapse
How? Throughout my own rooting of one of the phones, I had this working perfectly. Every time I hit a snag, I found a way around it and documented it. A few other people had errors show up because the phone itself hadn't mounted the system, but the problem was resolved, and only a couple people had any other problems, and they were unrelated to that. I assure you, every command works properly, as far as I know.
exactly my point. your command to mount system is wrong.
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
lets break it down shall we?
mount - this is teh command
-o remount,rw - this is where you tell it what option you want, in this case remounting as rw.
-t yaffs2 - here you are telling mount that it should expect a yaffs2 formatted device, which is not what the samsung replenish is. the replenish uses RFS (robust file system), the best way i can describe it is like telling your windows computer that your hard drive is fat32 when its actually ntfs.
/dev/block/mtdblock3 - this is where you tell mount what you are looking to mount, the issue here is that the replenish doesnt use MTD blocks, it uses STL's and BML's.
/system here is where you are trying to mount the said device to..
out of 5 parts you did get 3 correct tho. you might wish to modify your guide to reflect the actual mount command, for your device it is the following:
mount -o remount,rw -t rfs /dev/block/stl12 /system
and that will kick out system as r/w
shabbypenguin said:
exactly my point. your command to mount system is wrong.
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
lets break it down shall we?
mount - this is teh command
-o remount,rw - this is where you tell it what option you want, in this case remounting as rw.
-t yaffs2 - here you are telling mount that it should expect a yaffs2 formatted device, which is not what the samsung replenish is. the replenish uses RFS (robust file system), the best way i can describe it is like telling your windows computer that your hard drive is fat32 when its actually ntfs.
/dev/block/mtdblock3 - this is where you tell mount what you are looking to mount, the issue here is that the replenish doesnt use MTD blocks, it uses STL's and BML's.
/system here is where you are trying to mount the said device to..
out of 5 parts you did get 3 correct tho. you might wish to modify your guide to reflect the actual mount command, for your device it is the following:
mount -o remount,rw -t rfs /dev/block/stl12 /system
and that will kick out system as r/w
Click to expand...
Click to collapse
Hmmmm.... Odd..... *shrugs* I had no problem with the command, but I guess other ppl had pickier computers or phones. Hell, Vista's buginess might have worked in my favor that time XD. Thanks for the pointer. I didn't really understand the exact way the replenish was built. I just found a lil guide for making it boot into cwm and found it allowed for me to use that as an exploit to root the device. In fact, I've done the same kind of stuff to root the samsung Intercept, except I made their own software flash a pre-rooted kernel. anyways, I'll update the guide on xda and androidcentral. Thanks!
isavegas said:
Hmmmm.... Odd..... *shrugs* I had no problem with the command, but I guess other ppl had pickier computers or phones. Hell, Vista's buginess might have worked in my favor that time XD. Thanks for the pointer. I didn't really understand the exact way the replenish was built. I just found a lil guide for making it boot into cwm and found it allowed for me to use that as an exploit to root the device. In fact, I've done the same kind of stuff to root the samsung Intercept, except I made their own software flash a pre-rooted kernel. anyways, I'll update the guide on xda and androidcentral. Thanks!
Click to expand...
Click to collapse
chances are you had system mounted in cwm without knowing it.
for future knowledge always check the devices fstab for where to mount and filesystem type
https://github.com/Shabbypenguin/android_device_replenish/blob/master/recovery/recovery.fstab
as you can see the proper mounts from the files i used to make CWM for the replenish
shabbypenguin said:
chances are you had system mounted in cwm without knowing it.
for future knowledge always check the devices fstab for where to mount and filesystem type
https://github.com/Shabbypenguin/android_device_replenish/blob/master/recovery/recovery.fstab
as you can see from the files i used to make CWM for the replenish the proper mounts
Click to expand...
Click to collapse
Eh, maybe. For all I know the first thing I did was mount everything with cwm. I DID do this several months ago. I don't even have the phone anymore. The owner of the phone was gonna give it to me after upgrading, but she sold it, so I kept her 500gb laptop hard drive instead. Popped it out of the external hdd casing and stuck it in a laptop. XD. It now has Linux on it.
Anyways, I've updated the guide to have the right command and note that if it doesn't work to use cwm to mount /system. And how do you find the fstab? Just Google it? Or is it somewhere on the device?
Btw, do you know anything about cwm? It refuses to properly back up my xperia play anymore. The .android_secure folder keeps giving it errors.
isavegas said:
Eh, maybe. For all I know the first thing I did was mount everything with cwm. I DID do this several months ago. I don't even have the phone anymore. The owner of the phone was gonna give it to me after upgrading, but she sold it, so I kept her 500gb laptop hard drive instead. Popped it out of the external hdd casing and stuck it in a laptop. XD. It now has Linux on it.
Anyways, I've updated the guide to have the right command and note that if it doesn't work to use cwm to mount /system. And how do you find the fstab? Just Google it? Or is it somewhere on the device?
Btw, do you know anything about cwm? It refuses to properly back up my xperia play anymore. The .android_secure folder keeps giving it errors.
Click to expand...
Click to collapse
its where the recovery is on the device. each device has their own fstab. as for your error sounds like a conflict, either with cwm itself or that folder
shabbypenguin said:
its where the recovery is on the device. each device has their own fstab. as for your error sounds like a conflict, either with cwm itself or that folder
Click to expand...
Click to collapse
It HAS to he cwm, because the folder is regarded as super hidden by the device. The folder itself can be seen, but the contents can ONLY be edited by the rom or a pc, and I haven't touched it with a pc before. It's where your apps go when you move them to the sd card. I've been trying to back my phone up with cwm because I wanted to test the jelly bean alpha release for it. its the xperia play 4g. Stupid backup crashes every time I try and it ends up eating up what room is left in my sdcard.
i followed your guide and have root in shell. however i cant get root permission on any apps, the window doesnt pop up asking me for permission. i also get a toast notification saying superuser access denied for whatever app im trying to open. any ideas?
arodey said:
i followed your guide and have root in shell. however i cant get root permission on any apps, the window doesnt pop up asking me for permission. i also get a toast notification saying superuser access denied for whatever app im trying to open. any ideas?
Click to expand...
Click to collapse
What does your Superuser log show?
Sent from my PC36100