Related
A few weeks ago my SD card went bad on me. I have been using Gingershedbread as my ROM and see there are some updates, however, since I don't have an SD card, the "normal" method of loading the zip onto the SD card obviously won't work for me.
My question is: Is there a way to flash a ROM zip from a pc (windows) to my phone without an SD card? I know you can put the zip on the data partition, then use "recovery --update_package=DATA:rom.zip" (through adb), however, when trying to copy the rom I get a message saying that there is no space left.
As of now, the only thing I know of is to do a full wipe and factory reset, then push the ROM zip to my phone, but I don't necessarily want to do this every time.
I have also tried fastboot and using mkyaffs2image to create a system.img from the ROM's system folder in the zip file, but I am not doing something right.
I run "mkyaffs2image c:\rom\system\ c:\system.img"
then with my phone in fastboot, I "fastboot flash system c:\system.img"
and "fastboot flash boot c:\rom\boot.img".
I restart the phone in recovery mode, load gapps and xtrCache, but then it reboots, sits on black screen for a few seconds, then reboots into recovery.
I have tried erasing system and boot first, but that didn't seem to help.
I first tried just flashing system.img, but that didn't work.
Not sure what I am doing wrong. Is there a way to take a ROM zip and create a system.img and boot.img that can be flashed through fastboot without an SD card? OR, is it possible to flash a ROM zip without transferring the file to my phone first? Any help would be appreciated.
I don't think that there is an answer to your question which is both complete and also short.
So, here goes with the long answer.
First, a yaffs2 image file (e.g. system.img) is not compressed, so it is quite large - for things like the HTC factory/stock ROMs, it can be bigger than the cache partition. I don't know if the cache partition is actually used when you push things with fastboot, but experimentally, I have run into the problem that when attempting to do a
Code:
fastboot flash system my-yaffs2-system.img
fastboot gives you get an error about being out of room.
Second, and more importantly, the file modes (permissions) and user:group ownership of files in the /system mount point are extremely critical to proper operation of Android. If you have files sitting on a Windoze machine filesystem (either FAT32 or NTFS), all this information will be lost even before you create your "yaffs2" image file. (Not only that, but all symbolic links will be missing, too). This is why you observe that ROM files have instructions in their "update-script" (or "updater-script") command files for setting file & directory ownership, file permission modes, creating symlinks, et cetera.
Third - even if you use a linux OS to unpack yaffs2 images, and run as root when you are doing so, a lot of the "unyaffs" programs that are lying around do not even bother to extract things like user:group ownership or file modes - so you are basically screwed as soon as you unpack a yaffs2 image file on a PC, no matter whether it is Windows or Linux/Unix/OS-X.
Fourth, I am not sure that it is even a good idea in the first place to be "flashing" yaffs2 images. The "fastboot flash" command merely writes whatever you pass to it as a long linear blob of bytes, and there is no evidence to suggest that the yaffs formatting used in the archive is the same formatting used by the kernel. When "Nandroid" runs to restore a system.img or data.img file onto the phone, it does not write the image as a linear blob of bytes: it actually mounts the filesystem in question, cleans it up with a "rm -rf *" command, and then manually unpacks the yaffs2 image file into the mounted file system, one file at a time. (Fortunately in this case, it actually restores things like symlinks, file permissions, and file/directory user:group ownership information). This insures that the low-level yaffs2 formatting is *identical* to what the kernel expects, because it is the kernel that creates it.
There is a solution, but it is tedious enough that you really ought to ask the question, "Why don't I go out and buy a replacement SD card for 10 bucks instead of wasting a huge amount of time?"
Here's the solution:
You mount /system, clean it up manually, use adb to push the files recursively from wherever you have them stored on your PC, and then afterwards you run a custom (signed) installer .zip file which has been modified so that it only contains the "symlink" and permission-setting commands - you delete the "format" and "extract" commands from that command file, since you have manually put all the files into /system. Either that or you manually adjust the permissions and user:group ownership information by hand.
Obviously, since you don't have an /sdcard any longer, you will need to put this flashable, custom .zip file in /cache, and then create a one-line command file at /cache/recovery/command that points at the flashable .zip file in /cache. (This is the way the the OTAs work, and also how ROM Manager is able to customize the recovery when it boots).
Is this a lot of work? Yeah, you betcha.
It seems like running down to wally world to get a cheap SD card might be a little more fun.
Thanks for the info. I figured getting a new SD would be the best solution.
I knew about the symlink and file permission stuff and was trying to flash a system img then run a zip to ser that info., but couldn't get it to work. Sounds like using fastboot might be a bad idea.
For now I think I will just have to find a rom and stick with it for a while.
I am nearing an upgrade for a new phone and looking at the Thunderbolt, which comes with an SD so I don't want to buy one just yet.
Thanks for your help.
Sent from my ERIS GSBv2.1 using XDA App
kgunnIT said:
then run a zip to ser that info., but couldn't get it to work.
Click to expand...
Click to collapse
If you know how to sign ROMs, it's really not a hard hack to launch an installer of the type you mention.
And, now that I've just said that, I think I have another, simpler, idea.
But first:
[SIZE=+2]How To Launch a (smallish) .zip-based Flash That's Not On the SD Card.[/SIZE]
All of the recoveries - both the stock and custom recoveries - look for a "command" file when they first start up.
It literally is named "command", i.e.: /cache/recovery/command
... and it is a simple text file with as few as one line(s) in it.
Here is an example from the most recent OTA of the contents of /cache/recovery/command:
Code:
--update_package=CACHE:8e3b63f96149.OTA_Desire_C_Verizon_WWE_2.37.605.4_2.36.605.1_release.zip
basically, it's just a single line with the following format:
--update_package=CACHE:filename.zip
So, if you are trying to get an installer to run without an SD card, you would:
1) Boot to Amon_RA
2) Wipe the cache if necessary (wipe -> wipe data/factory reset also clears /cache)
3) Push your zip file to cache:
Code:
adb push mycustominstall.zip /cache/
4) Create a command file (say, named "command.txt") with the contents:
Code:
--update_package=CACHE:mycustominstall.zip
5) Push it to the phone:
Code:
adb push command.txt /cache/recovery/command
6) reboot directly back into recovery with
Code:
adb shell reboot recovery
When the recovery boots up again, it will immediately start unpacking your "mycustominstall.zip" file.
After I thought this all the way through, I realized, though: a lot of the ROM files are only about 100 MB, and cache is about 128 Mb, so
.... wait for it .....
... wait for it ....
it might be a worthwhile experiment to just push an untouched ROM file right to cache and then use that ROM file's name in your "command" file.
So long as /sbin/recovery does not unpack files to /cache (I can't remember if it does this or not!), you could use original ROM files -- just what you wanted originally. If it unpacks things to cache, though, it will only get part way through the install and fail.
It's worth a shot; if it fails, you'll have a mess that is no worse to clean up than what you've presently got. (If it fails, to be on the safe side it might be wise to go in using adb and clean things up in /cache a little bit so that the next recovery boot has some wiggle room in /cache - e.g. "adb shell rm -rf /cache/*" )
bftb0
bftb0 said:
If you know how to sign ROMs, it's really not a hard hack to launch an installer of the type you mention.
And, now that I've just said that, I think I have another, simpler, idea.
But first:
[SIZE=+2]How To Launch a (smallish) .zip-based Flash That's Not On the SD Card.[/SIZE]
All of the recoveries - both the stock and custom recoveries - look for a "command" file when they first start up.
It literally is named "command", i.e.: /cache/recovery/command
... and it is a simple text file with as few as one line(s) in it.
Here is an example from the most recent OTA of the contents of /cache/recovery/command:
Code:
--update_package=CACHE:8e3b63f96149.OTA_Desire_C_Verizon_WWE_2.37.605.4_2.36.605.1_release.zip
basically, it's just a single line with the following format:
--update_package=CACHE:filename.zip
So, if you are trying to get an installer to run without an SD card, you would:
1) Boot to Amon_RA
2) Wipe the cache if necessary (wipe -> wipe data/factory reset also clears /cache)
3) Push your zip file to cache:
Code:
adb push mycustominstall.zip /cache/
4) Create a command file (say, named "command.txt") with the contents:
Code:
--update_package=CACHE:mycustominstall.zip
5) Push it to the phone:
Code:
adb push command.txt /cache/recovery/command
6) reboot directly back into recovery with
Code:
adb shell reboot recovery
When the recovery boots up again, it will immediately start unpacking your "mycustominstall.zip" file.
After I thought this all the way through, I realized, though: a lot of the ROM files are only about 100 MB, and cache is about 128 Mb, so
.... wait for it .....
... wait for it ....
it might be a worthwhile experiment to just push an untouched ROM file right to cache and then use that ROM file's name in your "command" file.
So long as /sbin/recovery does not unpack files to /cache (I can't remember if it does this or not!), you could use original ROM files -- just what you wanted originally. If it unpacks things to cache, though, it will only get part way through the install and fail.
It's worth a shot; if it fails, you'll have a mess that is no worse to clean up than what you've presently got. (If it fails, to be on the safe side it might be wise to go in using adb and clean things up in /cache a little bit so that the next recovery boot has some wiggle room in /cache - e.g. "adb shell rm -rf /cache/*" )
bftb0
Click to expand...
Click to collapse
You always find the one thousand and ONETH way to skin a cat. Hehehehe...
Thankyou so much for this this alowed me to flash a rom on my phone which can't detect any sd cards and i stupidly wiped it before relising the sd card wasnt being detected!
sum_guy55 said:
Thankyou so much for this this alowed me to flash a rom on my phone which can't detect any sd cards and i stupidly wiped it before relising the sd card wasnt being detected!
Click to expand...
Click to collapse
very good, sum_guy55!
At least all that typing wasn' t in vain.
Out of curiosity, how big was the ROM file you used?
bftb0
Been meaning to post this:
Thanks for your posts roirraW "edor" ehT and bftb0 for posting this. I also was able to clear the cache and push the ROM and update.
However, I have xtrCMCache2cache on my phone, so the dalvik-cache was moved from /data/ to /cache/. After doing a wipe of dalvik-cache from Amon recovery, the folder in /cache/ was not emptied out. I went ahead and cleaned it manually, which freed up enough space to push the ROM.
Is this behavior expected using cache2cache and wiping dalvik-cache from recovery? I guess it would be since the dalvik-cache was moved.
Anyway, after clearing the dalvik folder, I was able to push GSBv2.4 to my phone, as well as gapps and xtrCMCache2cache, a total of almost 80 MB. Rebooted and all was well.
Thanks again for your help.
kgunnIT said:
Been meaning to post this:
Thanks for your posts roirraW "edor" ehT and bftb0 for posting this. I also was able to clear the cache and push the ROM and update.
However, I have xtrCMCache2cache on my phone, so the dalvik-cache was moved from /data/ to /cache/. After doing a wipe of dalvik-cache from Amon recovery, the folder in /cache/ was not emptied out. I went ahead and cleaned it manually, which freed up enough space to push the ROM.
Is this behavior expected using cache2cache and wiping dalvik-cache from recovery? I guess it would be since the dalvik-cache was moved.
Anyway, after clearing the dalvik folder, I was able to push GSBv2.4 to my phone, as well as gapps and xtrCMCache2cache, a total of almost 80 MB. Rebooted and all was well.
Thanks again for your help.
Click to expand...
Click to collapse
It was all bftb0. Interesting, I had once asked if cache was definitely wiped from Amon after it was moved. The consensus was that it should. I shall be anticipating some light shed on this.
Sent from my Gingerbread Eris via Tapatalk
Well, Amon_RA has no idea whether you are using cache2cache; I suppose we would need to look at the code to figure out how it behaves.
If it mounts /data and then does something like
rm -rf /data/dalvik-cache
there is a chance that the symbolic link is not followed, which would explain what kgunnIT observed.
Normally, if you are flashing a new ROM in a full-wipe fashion, the " wipe data/factory reset" menu option clears both /data and /cache, so in that case it is irrelevant that the "wipe dalvik-cache" is a no-op.
If you are overflashing, it's not obvious that you need to wipe the dalvik-cache... at least for the market apps normally stored in /data/app, although it seems like it would be a good idea to do so, as the system apps could be changing.
Note that even when cache2cache is not in use, the Amon_RA menu item "wipe dalvik-cache" never works as intended for froyo & gingerbread ROMs - the system apps have their dalvik-cache stored in /cache, and this never gets touched by Amon_RA with that menu operation.
BTW... for what it's worth, the ClockworkMod recoveryhas a menu entry for wiping only the cache.
bftb0
bftb0 said:
BTW... for what it's worth, the ClockworkMod recoveryhas a menu entry for wiping only the cache.
bftb0
Click to expand...
Click to collapse
Does ClockworkMod recovery work ok on the Droid Eris? I was going to load it on, but saw some people posting that it bricked their phones, so now I am skeptical. I will do more research and see if this is something I want to do. Thanks for your insight.
kgunnIT said:
Does ClockworkMod recovery work ok on the Droid Eris? I was going to load it on, but saw some people posting that it bricked their phones, so now I am skeptical. I will do more research and see if this is something I want to do. Thanks for your insight.
Click to expand...
Click to collapse
There is a version of Amon_RA (the trackball-optional version) that also allows you to format cache. You can find out more about it here: http://androidforums.com/eris-all-t...2-custom-recovery-trackball-not-required.html
That said, if you have ROM Manager, you can have Clockwork Recovery start as a stub within Amon_RA just from ROM Manager (the first option copies a file called update.zip to the root of your SD card, and the second, "Reboot into Recovery", starts Amon_RA with a script to flash update.zip, which starts Clockwork.) In fact, once update.zip is on the SD card, you can start Amon_RA as you always do, go to the Flash a zip from SD card menu, choose update .zip, and it will start Clockwork, if you want to do it that way. However, the drawback to this is that you can't go back to Amon_RA without shutting down the phone and then restarting in Recovery again, so I just find it easier to use the trackball-optional version of Amon_RA.
I think every person who has bricked their Eris while running Clockwork was running Clockwork Recovery as their main recovery image, and not in the way that I described in the last paragraph. (Though don't hold me to that ...)
kgunnIT said:
Does ClockworkMod recovery work ok on the Droid Eris? I was going to load it on, but saw some people posting that it bricked their phones, so now I am skeptical. I will do more research and see if this is something I want to do. Thanks for your insight.
Click to expand...
Click to collapse
I've been using it through ROM Manager since last August or so, I use it all the time.
Hello all.
Well, here is my problem. I was searching for some theme to change the "colors" of the menu of my device. SInce i couldn't find one, i just started to read a lot, and try to do it myself.
Well, I followed the instructions... and finally got my framework-res. The only problem was that the size of the file was lower thatn the original one. Anyway, I just went to root explorer, took my new framework-res.apk and replaced it on framework folder in internal storage.
The problem is that now my device won't start, I mean... it's stuck on the samsung logo, doing the animation over and over and over. Well I tried to get to the original framework-res, but I don't know how since I cannot replace things because I can't use a file explorer.
I searched some themes on the forum, thinking that maybe the framework-res would be replaced for the new one, and then it would work. Well it doesnt.
I have kph rom, and tried with "Dark simplify theme" and "circle battery kph" couse it's supposed to be stock theme with the circle battery...
Now, I dont know what to do, I dont know how to make an update.zip myself (I tried searching and learning but i just don understand).
I think i would reflash my system but, My internal partition was transformed to ext4 with cf-root, and I read a lot that If i want to flash any other rom, I have to change it to rfs first, but i can't do it couse i can't get to the ext4manager application.
So any ideas? please?
Thanks in advance.
ps: okay, i was a little desesperated when I wrote this (i still am). I searched for some with ext4 compatiblity. I have just tried gingerReal now. It's working. I'm gonna change the internal storage to rfs again, and flash kph.
Bootloop is really common here
you don;t need to reflash, if you have working framework-res.apk you just need to raplace it..
copy framework-res.apk to your sdcard
connect your phone to computer when in recovery
mount system partition using CWM
then using adb follow this command
adb shell
su
cd /sdcard
cp framework-res.apk /system/framework/
reboot
done
also if you reflash your ace using odin to stock one, ext4 partition automatically reverted to rfs
seilent said:
Bootloop is really common here
you don;t need to reflash, if you have working framework-res.apk you just need to raplace it..
copy framework-res.apk to your sdcard
connect your phone to computer when in recovery
mount system partition using CWM
then using adb follow this command
adb shell
su
cd /sdcard
cp framework-res.apk /system/framework/
reboot
done
also if you reflash your ace using odin to stock one, ext4 partition automatically reverted to rfs
Click to expand...
Click to collapse
Hi thanks for the answer. About the adb, that is supossed to be used in a pc, right? (sorry I never used it, i have just used terminal emulator in the device itself). I mean, I enter cmd, write adb shell and i'm in? (i have already installed sdk and all the neccesary things)
About the ext4 to rfs, well thanks! nice to know that ahaha . I have already flashed kph again, so it's all working now. But the next time, I'll do what you say. I guess I already know about adb shell, but I dont know how to use it (i get easily confuse when it comes to apply commands). Well, that's what I love of all of this. You screw things up, you get really nervous, but then you know you can solve it and it is the best ahaha.
Thank you!.
Notice this could hose,break,trash or brick your phone. You are warned.
Update
Thanks to both CVPCS and Dragonzkiller and the DX2-Dev-Team. And of course thanks to koush. And Tenfar too did he did find the /preinstall hack? Did Dragonzkiller fixed the graphics or what? IDNK, it is fixed(/sbin/recovery in DK, cvpcs is broken). Hence the hybrid zip.
The UL zip works some what from /preinstall see my thread. http://forum.xda-developers.com/showpost.php?p=20634404&postcount=1 It may do the same if flashed via Tenfars,our bootstrap, just flash it as you would any zip and it will take over.
It backs up and will restore, from adv restore, /cache and(if set in recovery.fstab) sd-ext. A full restore bombs:
Checking MD5 sums...
cache.ext3.tar: OK
data.ext3.tar: OK
system.ext3.tar: OK
couldn't find default
Found new backup image: /sdcard/clockworkmod/backup/2012-01-02.05.08.01//system.ext3.tar
Restoring system...
E:format_volume failed to unmount "/system"
Error while formatting /system!
Other features may work. I find that zipping from win7 winrar fails but Root Explorer zipping results work.
/sbin/recovery is distorted (main screen):
https://github.com/cvpcs/DroidX2Bootstrap/tree/master/assets
Distortion fixed;
https://github.com/DX2-Dev-Team/DX2-CWMR/tree/master/assets
Edit What is the "/preinstall cwr hack"?
TO PUT IN PLAIN TERMS : ALL YOU NEED FOR ANY CHARGE ENABLED RECOVERY:
THE FILES: "hijack" AND (THE HACKED) "charge_only_mode" IN /system/bin
AND ".revovery_mode" IS IN /data
YOU DO NOT NEED ANYTHING ELSE BUT TO LOAD /preinstall
WITH YOUR FAV RECOVERY NAMED: "update-recovery.zip", ALONG WITH IT'S BINARY (SAME AS INSIDE THE ZIP/meta-inf....) CALLED: "update-binary" AND "hijack" (SAME AS ABOVE). Thats it! 6 files. With permissions- See above link.
Older post
5.0.2.0 http://download.clockworkmod.com/recoveries/recovery-clockwork-5.0.2.0-olympus.zip
Not everything works: when flashing between recoveries they need to be on internal sd, and, of course, backup and restore may work but its for ul bootloaders only.
DO NOT FLASH FROM ROM MANAGER. IT WILL BE SBF time.
Flash from tenfars and keep a copy of both on int sd (tenfars update-recovery.zip and the DL) to go back and forth. Do not backup and restore with this.
Just checked out the updater script and it looks like it should work, barring no needed changes on the scripts in sbin that it copies. I wonder if ADB works in it on this one. This could be a huge bonus for what were trying to do since BSR is kinda old and crappy
No adb in adv menu.
skwoodwiva said:
No adb in adv menu.
Click to expand...
Click to collapse
ADB shouldnt be in a menu. Should just be enabled by default. Course it only would work if it was plugged into a computer at the time you dropped into CWR. It doesnt support USB state changing.
So if the cwr in charge mode triggered, as is the preinstall hack, then no adb?
Log from cwr
init.svc.battd running
.usbd running
.touch stopped
.atvc stopped
.adb running
Extended commands not found.
See if you can run any adb commands like:
adb devices
adb pull /system/build.prop
etc...
It fails to mount sdcard. When recovering or manual mount.
I'm done messing this one.
I was able to overwrite the one in /data/data/tenfar folder but not in /preinstall folder anything special I need to try? Still went into BSR when I rebooted to recovery.
Sent from my DROID X2 using XDA App
I am learing as I go, but the point I realized is when you go to adv menu,in cwr,and reboot recov the current cwr gets loaded to /preinstall. So paste to data/data...files run sr then do reboot recov. Then paste to preinstall.
Cool ill give that a shot thanks!!!
Sent from my DROID X2 using XDA App
If I had the knowhow I would hack the garphics from 5010atrix to 5025x2!! .
But why would the newest Dx2 be any good and NOT a failure and be so messed for all this time? Unless one failure hides the other.
It probably can't mount SD due to a wrong mountpoint in one of the scripts. Should be easy to fix.
http://download.clockworkmod.com/recoveries/recovery-clockwork-5.0.2.0-olympus.zip
newer atrix 5020 all works but restore fails as boot img, of course, won't load.
skwoodwiva said:
http://download.clockworkmod.com/recoveries/recovery-clockwork-5.0.2.0-olympus.zip
newer atrix 5020 all works but restore fails as boot img, of course, won't load.
Click to expand...
Click to collapse
how hards that going to be to fix?
Ha ha ha ha!
You got me!
But it easy to flash between these cwrs even back to tenfars. Want to find a way to recwr after a wipe or flash.
The skewed graphics problem is from within the recovery (binary) in /sbin of the
zip: http://download.clockworkmod.com/recoveries/recovery-clockwork-5.0.2.5-daytona.zip .
I pasted the file from the above into this http://download.clockworkmod.com/recoveries/recovery-clockwork-5.0.2.0-olympus.zip and got same graphics skewing.
balltongue said:
See if you can run any adb commands like:
adb devices
adb pull /system/build.prop
etc...
Click to expand...
Click to collapse
Is this from android/sdk in win7?
Can you give me a prep? I am just a NooB.
Within your sdk folder look for platform tools, adb is within this folder. Navigate to platform tools directory using cmd then enter the commands.
Sent from my DROID X2 using xda premium
skwoodwiva said:
Is this from android/sdk in win7?
Can you give me a prep? I am just a NooB.
Click to expand...
Click to collapse
I pm'd you with some info about setting up sdk.
Well i changed dpi on my primary rom (Stock LPQ, siyah kernel) cause my friend was all like. BRO WUT DAT APP DO. and i changed it to 120, and now it crashes. I can't get to root explorer to access the build.prop cause it wont stay stable for 2 seconds. When i boot into secondary rom, it shows the build.prop for that rom, and not the primary. Is there a zip i can flash to change the prop back to 240 dpi? It's not a major issue, i just need the stock rom for certain things like mms, hence why i'm dual booted. halp pls
Can't you just re-flash the primary ROM ? I have no idea, how to modify your build.prop via phone if it crashes. Maybe somehow via ADB, but I think re-flashing the ROM will be easier.
Can you open some apps ? If yes, you could try some apps like DPI Changer and change it via that app.
extract the original build.prop file from your rom zip and use "adb push" command to manually push the file to system directory.
bala_gamer said:
extract the original build.prop file from your rom zip and use "adb push" command to manually push the file to system directory.
Click to expand...
Click to collapse
That is the ADB way I mentioned, but I think re-flashing the ROM via CWM without wipe would be easier.
Sent from my iPad 2 using Tapatalk HD
Hi,
I'm running the last cyanogenmod 12.1 ROM on my S2. There is no custom kernel or recovery. The only thing I did was a repartition to 1GB system. This setup ran since 2016 feb. without problems. Tuesday morning got a notification from the play store, that there are updates to some of my apps, so I set my phone to update them all and left it there. I came back after 20min and then came the problem:
The phone is bootlooping. The booting animation finishes, then it starts optimizing my apps, every time different amount of apps. After it finishes it starts booting again... rinse and repeat. I tried to leave it there for a very long time, with no success. The phone is very hot in the CPU area and the battery gets hot too when it's bootlooping.
I am able to go in recovery and download mode. My recovery is the stock cyanogen recovery unfortunately. I tried putting it in download mode and since I have Android Studio installed on my pc, I tried to establish an adb shell (with adb shell command) with the adb tool that came it. Unfortunately it does not find my device (neither with adb devices). I might do it wrong though. Fortunately Odin 3.04 seems to recognize my phone, so I might be able the flash something, but I'm afraid that my internal memory is starting to fail and that is causing all these issues, so the flash would fail. First I'd like to try to save data without flashing if possible.
I have most of my user data on my sd card, so the most important thing would be to save is my contacts, messages and call history. No, I don't sync it with google, yes I know it's stupid. It used to mess up my contact list so I dropped using it.
Any help and advice would be appreciated, thanks in advance!
N7Gabe said:
Hi,
I'm running the last cyanogenmod 12.1 ROM on my S2. There is no custom kernel or recovery. The only thing I did was a repartition to 1GB system. This setup ran since 2016 feb. without problems. Tuesday morning got a notification from the play store, that there are updates to some of my apps, so I set my phone to update them all and left it there. I came back after 20min and then came the problem:
The phone is bootlooping. The booting animation finishes, then it starts optimizing my apps, every time different amount of apps. After it finishes it starts booting again... rinse and repeat. I tried to leave it there for a very long time, with no success. The phone is very hot in the CPU area and the battery gets hot too when it's bootlooping.
I am able to go in recovery and download mode. My recovery is the stock cyanogen recovery unfortunately. I tried putting it in download mode and since I have Android Studio installed on my pc, I tried to establish an adb shell (with adb shell command) with the adb tool that came it. Unfortunately it does not find my device (neither with adb devices). I might do it wrong though. Fortunately Odin 3.04 seems to recognize my phone, so I might be able the flash something, but I'm afraid that my internal memory is starting to fail and that is causing all these issues, so the flash would fail. First I'd like to try to save data without flashing if possible.
I have most of my user data on my sd card, so the most important thing would be to save is my contacts, messages and call history. No, I don't sync it with google, yes I know it's stupid. It used to mess up my contact list so I dropped using it.
Any help and advice would be appreciated, thanks in advance!
Click to expand...
Click to collapse
Ok, did you try dirty flashing the ROM using CyanogenMod recovery?
And then wiping cache and dalvik cache?
MigoMujahid said:
Ok, did you try dirty flashing the ROM using CyanogenMod recovery?
And then wiping cache and dalvik cache?
Click to expand...
Click to collapse
First of all, thanks for the advice, I didn't think of that. I assume this means there is probably no solution without flashing. Do I need to flash gapps too?
N7Gabe said:
First of all, thanks for the advice, I didn't think of that. I assume this means there is probably no solution without flashing. Do I need to flash gapps too?
Click to expand...
Click to collapse
No, no need for that, just the ROM, and it won't delete anything.
MigoMujahid said:
No, no need for that, just the ROM, and it won't delete anything.
Click to expand...
Click to collapse
So, I went to recovery, pressed apply update, searched for the cm12.1-20160203-nightly rom (same I had installed), flashed it without error messages, then I pressed wipe cache partition, then reboot system now. Now the phone starts to boot, the boot animation is playing for a few minutes, then the phone turns off. Tried it multiple times, with and without charging. I can still get into recovery.
N7Gabe said:
So, I went to recovery, pressed apply update, searched for the cm12.1-20160203-nightly rom (same I had installed), flashed it without error messages, then I pressed wipe cache partition, then reboot system now. Now the phone starts to boot, the boot animation is playing for a few minutes, then the phone turns off. Tried it multiple times, with and without charging. I can still get into recovery.
Click to expand...
Click to collapse
Ok, we will try another thing, can your phone be recognized using adb in recovery?
If so you can pull the data(contacts, sms) using adb pull command.
The data usually is stored there:
/data/data/com.android.providers.telephony/databases/mmssms.db
And there:
/data/data/com.android.providers.contacts/databases/contacts.db
If you were able to do it then fine, if not, there is luckily another solution!!
You have the latest cm12.1 build which is Feb 3rd build, so your build support iso-rec TWRP recovery, so you can flash TWRP recovery zip provided by the.gangster using CM recovery and reboot recovery so it will replace the CM recovery with TWRP, in TWRP you can mount system and data using "mount", and using the file manager there you can access the above mentioned directories and copy the files manually in the external sdcard(or the internal sdcard), then you can clean flash and copy them again after that.
That would be the ultimate solution
MigoMujahid said:
Ok, we will try another thing, can your phone be recognized using adb in recovery?
If so you can pull the data(contacts, sms) using adb pull command.
The data usually is stored there:
/data/data/com.android.providers.telephony/databases/mmssms.db
And there:
/data/data/com.android.providers.contacts/databases/contacts.db
If you were able to do it then fine, if not, there is luckily another solution!!
You have the latest cm12.1 build which is Feb 3rd build, so your build support iso-rec TWRP recovery, so you can flash TWRP recovery zip provided by the.gangster using CM recovery and reboot recovery so it will replace the CM recovery with TWRP, in TWRP you can mount system and data using "mount", and using the file manager there you can access the above mentioned directories and copy the files manually in the external sdcard(or the internal sdcard), then you can clean flash and copy them again after that.
That would be the ultimate solution
Click to expand...
Click to collapse
In recovery I can see my device with adb, but every command runs into a device unauthorized error.
Code:
D:\Android\sdk\platform-tools>adb devices
List of devices attached
0009bd0863c43f unauthorized
Code:
D:\Android\sdk\platform-tools>adb shell
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
etc.
So I assume I flash TWRP with odin. Is it possible to save data to a PC through USB connection with TWRP? I'm asking, because I'd still prefer a full backup if possible (I don't have the space for it on my external sd). Second question, if I'm able to save mmssms.db and contacts.db, how do I extract the data from it, or maybe reimport it (even to a different phone/ROM)? I don't entirely understand isorec, but let's say I manage to flash TWRP and save my data. Can I flash the latest LOS 14.1 and keep the isorec TWRP? Or after the LOS flash, I need to flash TWRP again? As I mentioned I already have the 1GB system partition, so that shouldn't be an issue. It would be a nice two birds with one stone, saving my data and updating my obsolete ROM to a isorec TWRP+LOS 14.1 combo.
Lastly, this is the recovery you mentioned, right?: recovery-the.gangster-IsoRec-TWRP-3.1.0-0-i9100.zip
N7Gabe said:
In recovery I can see my device with adb, but every command runs into a device unauthorized error.
etc.
So I assume I flash TWRP with odin. Is it possible to save data to a PC through USB connection with TWRP? I'm asking, because I'd still prefer a full backup if possible (I don't have the space for it on my external sd). Second question, if I'm able to save mmssms.db and contacts.db, how do I extract the data from it, or maybe reimport it (even to a different phone/ROM)? I don't entirely understand isorec, but let's say I manage to flash TWRP and save my data. Can I flash the latest LOS 14.1 and keep the isorec TWRP? Or after the LOS flash, I need to flash TWRP again? As I mentioned I already have the 1GB system partition, so that shouldn't be an issue. It would be a nice two birds with one stone, saving my data and updating my obsolete ROM to a isorec TWRP+LOS 14.1 combo.
Lastly, this is the recovery you mentioned, right?: recovery-the.gangster-IsoRec-TWRP-3.1.0-0-i9100.zip
Click to expand...
Click to collapse
First, TWRP won't be flashed with Odin, it will be flashed with CM recovery that you already have, and yes i meant the one you mentioned.
Second, the contacts.db and mmssms.db won't take that much space, and anyway it's OK to copy them to internal sdcard, not obligated to external, and no need to access them, after you flash another ROM like LOS 14.1, you can re copy them back to their directories.
Third, if you flash the latest LOS 14.1, you can keep the iso-rec TWRP it won't be removed.
MigoMujahid said:
First, TWRP won't be flashed with Odin, it will be flashed with CM recovery that you already have, and yes i meant the one you mentioned.
Second, the contacts.db and mmssms.db won't take that much space, and anyway it's OK to copy them to internal sdcard, not obligated to external, and no need to access them, after you flash another ROM like LOS 14.1, you can re copy them back to their directories.
Third, if you flash the latest LOS 14.1, you can keep the iso-rec TWRP it won't be removed.
Click to expand...
Click to collapse
Okay, so I need to find an SD card reader then, to put the recovery on it. Or is there another way to get it on the phone?
By the way, thank you for taking your time and helping me, I'm really grateful!
N7Gabe said:
Okay, so I need to find an SD card reader then, to put the recovery on it. Or is there another way to get it on the phone?
By the way, thank you for taking your time and helping me, I'm really grateful!
Click to expand...
Click to collapse
No pb bro, you're welcome.
Yes, you will need to get the recovery in the phone somehow, or you can put your memory card in another phone and use the phone to put the recovery in the sdcard, then place it in your phone again.
That would be an alternative if you don't have a sdcard reader.
MigoMujahid said:
No pb bro, you're welcome.
Yes, you will need to get the recovery in the phone somehow, or you can put your memory card in another phone and use the phone to put the recovery in the sdcard, then place it in your phone again.
That would be an alternative if you don't have a sdcard reader.
Click to expand...
Click to collapse
I managed to get it on the phone and flashed it. The phone was plugged in to my pc, and I could acces my internal SD so I managed to back that up. But here's the thing, TWRP file manager showed my /data to be empty, and not long after, the phone just shut down. My battery is only a few months old, so that should not be the issue, and the phone was also charging from the PC.
After this shutdown, I had a very hard time to get into recovery, because the phone thinks the battery is dead. I couldn't start booting normally either. Only download mode was available, but it only said, it can't get into download mode, because the battery is low. (when I plug in the charger the phone shows 100% battery) I changed my battery to my old weak one, I managed to get into recovery with it, after multiple tries. (I think it had nothing to do with the battery but was lucky) Now I check my /data through adb and it shows empty aswell:
Code:
D:\Android\sdk\platform-tools>adb pull /data/data/com.android.providers.telephony/databases/mmssms.db
adb: error: remote object '/data/data/com.android.providers.telephony/databases/mmssms.db' does not exist
D:\Android\sdk\platform-tools>adb shell
~ # [6n
~ # [6nls
and-sec init.recovery.service.rc selinux_version
boot init.recovery.smdk4210.rc sepolicy
boot.txt init.recovery.usb.rc service_contexts
cache license sideload
charger mnt supersu
data proc sys
default.prop property_contexts system
dev recovery tmp
etc res twres
file_contexts sbin ueventd.rc
fstab.smdk4210 sdcard0 ueventd.smdk4210.rc
init sdcard1 usbotg
init.rc seapp_contexts
~ # [6ncd data
/data # [6nls
/data # [6n
Do I have to mount it somehow maybe? (Oh and twrp always ask at start to mount sys in read-only or R/W. I always mounted it in R/W.) I'm afraid if I start moving in TWRP the phone will shut down as it always did. If I use adb or windows explorer to acces the phone it does not shut down.
N7Gabe said:
I managed to get it on the phone and flashed it. The phone was plugged in to my pc, and I could acces my internal SD so I managed to back that up. But here's the thing, TWRP file manager showed my /data to be empty, and not long after, the phone just shut down. My battery is only a few months old, so that should not be the issue, and the phone was also charging from the PC.
After this shutdown, I had a very hard time to get into recovery, because the phone thinks the battery is dead. I couldn't start booting normally either. Only download mode was available, but it only said, it can't get into download mode, because the battery is low. (when I plug in the charger the phone shows 100% battery) I changed my battery to my old weak one, I managed to get into recovery with it, after multiple tries. (I think it had nothing to do with the battery but was lucky) Now I check my /data through adb and it shows empty aswell:
Do I have to mount it somehow maybe? (Oh and twrp always ask at start to mount sys in read-only or R/W. I always mounted it in R/W.) I'm afraid if I start moving in TWRP the phone will shut down as it always did. If I use adb or windows explorer to acces the phone it does not shut down.
Click to expand...
Click to collapse
You should go to "mount" in TWRP, and tick "data" and "system", i said that already earlier.
MigoMujahid said:
You should go to "mount" in TWRP, and tick "data" and "system", i said that already earlier.
Click to expand...
Click to collapse
After I sent the message and before I read yours just now, I managed to mount, save and even make LOS run. So I was wrong, the battery is probably dead. I guess the lot of heat it produced while bootlooping killed the battery. I switched back to my old original wore out battery which is humpy and everything, but I managed to do everything with the phone. Now my problem is after I put back the .db files in their place, when the phone start it constantly crashes android.process.acore, the messaging app and the caller app. I think it might be a permission issue, but I have no idea how to fix it.
N7Gabe said:
After I sent the message and before I read yours just now, I managed to mount, save and even make LOS run. So I was wrong, the battery is probably dead. I guess the lot of heat it produced while bootlooping killed the battery. I switched back to my old original wore out battery which is humpy and everything, but I managed to do everything with the phone. Now my problem is after I put back the .db files in their place, when the phone start it constantly crashes android.process.acore, the messaging app and the caller app. I think it might be a permission issue, but I have no idea how to fix it.
Click to expand...
Click to collapse
Download ES file explorer from play store and grant root access for root explorer and set permissions to the 2 files as (rw- rw- ---) as described in screenshot, then reboot.
MigoMujahid said:
Download ES file explorer from play store and grant root access for root explorer and set permissions to the 2 files as (rw- rw- ---) as described in screenshot, then reboot.
Click to expand...
Click to collapse
This method worked with the contacts db, but not with the messages db. Actually I did not find any databases when I first copied it there, even made the databases folder. Thanks though, I'm almost done!
N7Gabe said:
This method worked with the contacts db, but not with the messages db. Actually I did not find any databases when I first copied it there, even made the databases folder. Thanks though, I'm almost done!
Click to expand...
Click to collapse
Ok, i seem to know the problem here, i looked at my own mmssms.db file and found it in this path:
/data/data/com.android.providers.telephony/databases/mmssms.db
(not the same path for the contacts.db file)
So you should move it there and add the same permissions that you added to the other file, that will do the job for you
MigoMujahid said:
Ok, i seem to know the problem here, i looked at my own mmssms.db file and found it in this path:
/data/data/com.android.providers.telephony/databases/mmssms.db
So you should move it there and add the same permissions that you added to the other file, that will do the job for you
Click to expand...
Click to collapse
This is the path you told me the first time, and this is where it doesn't work. That databases folder was not even there, until I made it. I don't even have any other files in the folder but the mmssms.db that I copied there.
N7Gabe said:
This is the path you told me the first time, and this is where it doesn't work. That databases folder was not even there, until I made it. I don't even have any other files in the folder but the mmssms.db that I copied there.
Click to expand...
Click to collapse
I don't know what is the problem...I've ran out of ideas here
At least you got your contacts back :silly:
MigoMujahid said:
I don't know what is the problem...I've ran out of ideas here
At least you got your contacts back :silly:
Click to expand...
Click to collapse
No problem, I got lucky, run a search in the data partition for mmssms.db and it appears that now it is located in /data/user_de/0/com.android.providers.telephony/databases. I backed it up, then overwrote it, fixed the permission, rebooted and now it seems to work, so all is well.
In the end I managed to not only save my data, but to fix my phone and even upgrade it to the latest LineageOS, thanks to you! I wish you a good life!
N7Gabe said:
No problem, I got lucky, run a search in the data partition for mmssms.db and it appears that now it is located in /data/user_de/0/com.android.providers.telephony/databases. I backed it up, then overwrote it, fixed the permission, rebooted and now it seems to work, so all is well.
In the end I managed to not only save my data, but to fix my phone and even upgrade it to the latest LineageOS, thanks to you! I wish you a good life!
Click to expand...
Click to collapse
Thanks for the tip, i have a marshmallow ROM right now, it seems that the location was changed in Nogut, I'll keep that in mind.
Have a good life too.