[Q] recovery.img and recovery-from-boot.p - General Questions and Answers

Hi all,
I am trying to make sense of how the android system is made up w.r.t to boot/kernel.
I have been looking at the .img files in the build (I built for the "passion" device), and have been googling around to find some more information about the various .img files.
I ran into a nice HOWTO in android-dls.com 's WIKI, titled HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images (I'm sorry, I'm a new user so XDA won't allow me to post links. I will try to modify my post a soon as I'm granted permission for that)
but I am afraid it is a little outdated:
I have several questions, but I will try to be brief, so I'll focus on
one of them, and if that works I'll proceed to the next questions, all related to "Android bringup for dummy embedded linux kernel experts".
I am fairly aware of differences between different linux
configurations, and I am very familiar with linux bringup concepts, so I will just use common examples from the linux world as my terminology. Hope it will be clear enough.
I understood that boot.img a combination of a kernel (e.g. bzImage in linux) and an initial ramdisk (e.g. initrd.gz), wrapped by some header, as in common linux kernel loading practice (piggy.o etc.).
Now, the aforementioned HOWTO says that the "recovery" image is built on
the same way, and that it is stored on the target's /system/
recovery.img .
I would assume that this would be compound of the ramdisk-
recovery.img, and some other kernel.
Now, the problem is that:
1. This /system/recovery.img does not exist from what I saw (on my
Motorola XOOM tablet)
2. What does exist is /system/boot-from-recovery.p , which is
created during the boot process in obj/PACKAGING/
recovery_patch_intermediates/recovery_from_boot.p .
I saw tons of posts referring to the files, all said that "in order to
replace the rescue disk image, this file needs to be renamed" - but I
am looking for a way to figure out what it is, and how to extract its
contents.
I assume /system/recovery.img is deprecated, is that correct?
3. I did not see any flash devices in /proc/mtd (which is strange).
I searched for hours before sending this post, so I would appreciate
your help. I also posted a similar message at the google android-building group, but it has not been answered yet, and I got the impression that these forums are more active and can help me get where I need.
If it is not the right place to ask the question please let me know -
I just assume this is a general android concept and not device
specific.
Thanks,
Ron

I meant of course /system/recovery-from-boot.p , and not recovery-from.boot.p
-R

Hi,
I don't know if you managed to find out what "recovery-from-boot.p" is, since this is quite an old post, but I think I'll try to help anyway.
recovery.img is not deprecated at all. From my own experience, it looks like "recovery-from-boot.p" is a protection measure introduced in Gingerbread, but not the recovery itself. What it does is replacing any recovery currently installed on the phone with the default one on every boot.
I discovered it after flashing a custom recovery on my Android 2.3.4 phone. It worked, but just during the first boot. The next time I rebooted the phone, the default recovery image was there again. After browsing several sites, I found that "recovery-from-boot.p" is responsible for that.
So, if you flash a custom recovery image on a Gingerbread phone and want to keep it forever, you must delete this "recovery-from-boot.p" from /system, or at least rename it. That way, your new custom recovery will never get overwritten buy the default one, unless you do it yourself.
I hope this helps you and clarifies this question.

Well, it helped me. I'm new to rooting and just came across mention of this file. I am trying to learn 'why' as well as 'how'', so your post was informative.

Was going to ask a dumb question but I figured it out

i need to delet those files
bigrammy said:
Was going to ask a dumb question but I figured it out
Click to expand...
Click to collapse
Hello
can't delete those files >> i am rooted but every time i delete or rename it take permission then nothing happen >> how i can delete them plsssssssssssssssssssssssssssssssssssssss

recovery from boot p
ahmed morsy said:
Hello
can't delete those files >> i am rooted but every time i delete or rename it take permission then nothing happen >> how i can delete them plsssssssssssssssssssssssssssssssssssssss
Click to expand...
Click to collapse
Hey good day. Did you get your problem fixed...? I have an xt912 it has the same file. For days I've been trying to wipe the phone. Tryed rooting it. I tryed reprogramming it. And I got through with all of that. But everytime the phone boots up it goes back to the same state. Then I used a root browser and while exploring I saw this recovery from boot file. I need help. And I don't think I can downgrade the Motorola phones. Thanks in advance.

jman0 said:
Hi,
I don't know if you managed to find out what "recovery-from-boot.p" is, since this is quite an old post, but I think I'll try to help anyway.
recovery.img is not deprecated at all. From my own experience, it looks like "recovery-from-boot.p" is a protection measure introduced in Gingerbread, but not the recovery itself. What it does is replacing any recovery currently installed on the phone with the default one on every boot.
I discovered it after flashing a custom recovery on my Android 2.3.4 phone. It worked, but just during the first boot. The next time I rebooted the phone, the default recovery image was there again. After browsing several sites, I found that "recovery-from-boot.p" is responsible for that.
So, if you flash a custom recovery image on a Gingerbread phone and want to keep it forever, you must delete this "recovery-from-boot.p" from /system, or at least rename it. That way, your new custom recovery will never get overwritten buy the default one, unless you do it yourself.
I hope this helps you and clarifies this question.
Click to expand...
Click to collapse
i have deleted it . then flash recovery ,, but it failed .. it wont even now go to stock recovery itself.. any help..

Does recovery from boot has to do anything with ota update applying ? or it will cause issues in system update ?

I have recovery-from-boot.p in my system and i cant root my phone i cant change the recovery img ... Help?

I hadn't had to deal with this for some time, perhaps because I've updated my devices (Nexus 4, Nexus 5, Nexus 7 '13) with the factory images, with "-w" removed from flash-all, then flashing CWM's recovery, ensure SuperSU was installed, then continuing. Today, I used the new OTA image on my Hammerhead/N5, and recovery-from-boot.p seems to be up to its old tricks again.
Solution is simple.
Flash your alternate Recovery in fastboot, fastboot flash recovery [recovery image file] . Boot into Recovery. Apply/install root app (typically via sideload). Mount /system. adb shell mv /system/recovery-from-boot.p /system/recovery-from-boot.p.bak. Reboot. Done. (If you're unfamiliar with fastboot, adb, and flashing new recovery partitions, you have some reading to do. Commence RTFM.)
I also used to have to move /system/etc/install-recovery.sh but that seems to be gone in Marshmallow. :} Or moved...?

well, after following a guide I have extracted the system.img from a pure-nexus ROM(The ROM I'm currently using), now I can see that "recovery-from-boot.p" file is responsible for recovery lock in my phone. I'll keep it short and straight to the question
"Can I remove this file and rebuild the .dat file and flash it?, so that I won't have any other problems at all"
I want to know if recovery-from-boot.p file is linked to anything other than just locking the recovery or re-flashing it innumerable times.

Related

[A510/A511] [WIP] Stock ROM dumps - Get back to factory state

As we now have functional recovery options on our tablets, and people will inevitably mess things up with their device, we need to get a way to get your tablets back to factory condition. But I need your help with this!
What do you want?
Here's my idea: We have all seen various ZIPs floating around, most of them leaked from somewhere. The problem with these is that you can't use OTA updates, and I'm not sure what Acer Service Center thinks of custom ROM installs. What I want is to build a list of software that is officially distributed by Acer, is OTA-updateable, etc. For this reason, I want people that have not yet modified their tablets (except root) to provide image dumps of their /system, /boot, /flexrom, and /recovery partition. It's really easy to do, and you'll help yourself and others when they get into trouble.
Can I help?
Answer all of the following questions. If at one point the answer is "Sorry, you can't help", well... You can't help
Is your device unlocked and rooted? Yes - You can help! / No - You can still help, but you need to unlock and root your device.
Do you have the original Acer ROM installed on your device? Yes - You can help! / No - Sorry, you can't help
Have you received the latest OTA updates for your device? Yes - You can help! / No - You can help as well!
Have you removed any apps or files from the /system or /flexrom partition? Yes - Sorry, you can't help / No - You can help!
Have you installed a custom recovery image? Yes - You can still help, as long as everything else is still original / No - You can help!
Okay, so I can help, now what?
If you can and are willing to help (remember, it could save your own ass one day), follow the instructions below. If you get stuck or simply don't know where to start but are willing to help, let us know in this thread and I'm sure we can all help eachother out.
This will not gather any personal data from you. Personal data is stored on the /data partition, which we don't need, so: No worries!
Root your device, if you haven't already.
Connect your tablet to your computer via ADB
Type the following command: adb shell. You are now logged into your tablet. You can exit at any time by typing exit and hitting ENTER.
Type the following command: dd if=/dev/block/mmcblk0p2 of=/sdcard/boot.img. This will copy your /boot partition to a file called boot.img on your internal storage. This one will be fast, it only has about 8MB to copy.
This step can be skipped if you have a custom recovery! Type the following command: dd if=/dev/block/mmcblk0p1 of=/sdcard/recovery.img. This will copy your /recovery partition to a file called recovery.img on your internal storage. This one will be fast as well, it only has about 6MB to copy.
Type the following command: dd if=/dev/block/mmcblk0p3 of=/sdcard/system.img. This will copy your /system partition to a file called system.img on your internal storage. This one will take a bit longer, it has about 360MB to copy.
Type the following command: dd if=/dev/block/mmcblk0p6 of=/sdcard/flexrom.img. This will copy your /flexrom partition to a file called flexrom.img on your internal storage. This one will take a bit longer as well, it has about 360MB to copy.
Type exit to exit the ADB shell. Copy the four .img files from your tablet (internal storage) to your computer. You might have to reboot your tablet if the files don't show up.
ZIP or RAR these files, and upload them somewhere. If you can't find a place to store them: send me a private message or reply in this thread and we'll arrange something else. If you have uploaded the files somewhere: again, send me a private message or reply in this thread.
So now what?
When I receive your files, I will package them into an update.zip that can be flashed from custom recoveries. This will then restore everything (including the custom recovery) to factory state, which can help you in getting your device back to stock.
What versions do you have already?
Acer_AV041_A510_1.044.00_WW_GEN1 (download links will follow shortly)
Acer_AV041_A510_1.098.00_EMEA_CUS1 (download links will follow shortly)
Acer_AV041_A510_1.099.00_EMEA_DE (download links will follow shortly)
The idea sounds great so far. But I have a small problem to make a complete backup for my a511.
Your linked root tutorial for the procedure is only for a100/a510 and doesn't work for a511, as I understand.
The tutorial for rooting the a511 needs first to flash a CWM.
http://forum.xda-developers.com/showthread.php?t=1729432
So it isn't possible for us to backup the recovery partition, right ?
I have the stock Acer_AV041_511_1.028.00_EMEA_DE on my device.
Is it even possible to backup and recover the baseband ?
I'm very interested in your CWM recovery for a511 too, but since many guys f++++d up their device now, I want to make sure that my device will not goes the same way.
i can help, n my tab is rooted.
but i don understand the first step: Connect your tablet to your computer via ADB
What about if we have removed system apps (such as the antivirus that comes with the tablet). It wouldn't be a complete dump if it didn't include those.
I have root and am happy to provide a dump, but I did uninstall several of the crappier pre-installed apps that came with my tablet.
scorpio16v said:
The idea sounds great so far. But I have a small problem to make a complete backup for my a511.
Your linked root tutorial for the procedure is only for a100/a510 and doesn't work for a511, as I understand.
The tutorial for rooting the a511 needs first to flash a CWM.
http://forum.xda-developers.com/showthread.php?t=1729432
So it isn't possible for us to backup the recovery partition, right ?
I have the stock Acer_AV041_511_1.028.00_EMEA_DE on my device.
Is it even possible to backup and recover the baseband ?
I'm very interested in your CWM recovery for a511 too, but since many guys f++++d up their device now, I want to make sure that my device will not goes the same way.
Click to expand...
Click to collapse
Hi, your device will not brick, I can send you a test A511 recovery if you want. Worst that can happen is that recovery won't boot, but in that case you can simply put back recovery. Send me a private message and we can work something out.
scae said:
What about if we have removed system apps (such as the antivirus that comes with the tablet). It wouldn't be a complete dump if it didn't include those.
I have root and am happy to provide a dump, but I did uninstall several of the crappier pre-installed apps that came with my tablet.
Click to expand...
Click to collapse
Then it's of no use, unless you have a backup of your pre-installed apps. Removing apps from the /system or /flexrom partition is not recommended, and you gain nothing by it: You only gain space on read-only filesystems which you won't use in 99% of situations, and you've now broken OTA's for yourself as well, as OTA's will only install when apps are present unless you start modifying OTA files.
The 'correct' way to get rid of pre-installed apps is simply freezing them, either from the settings menu or with an app like Titanium Backup. This will make it seem like they're not there (so they don't use resources at all), but the APKs don't get removed.
So unfortunately, we can't use your dumps to restore devices to factory state. Unless, ofcourse, you've made a backup of the apps somewhere.
skymario said:
i can help, n my tab is rooted.
but i don understand the first step: Connect your tablet to your computer via ADB
Click to expand...
Click to collapse
Do you have ADB or the Android SDK installed?
NoThrills said:
Do you have ADB or the Android SDK installed?
Click to expand...
Click to collapse
I just learned ADB, n successful install ur CWM, later will try to dump my stock Rom to u.
My stock Rom version 1.073 ww gen1
does it matter if the system apps have been frozen or do they need to be unfrozen first?
I have flashed that remove stock recovery mod so the stock rom doesn't keep overwriting cwm on reboot. Does that disqualify me? If not I'll dump my rom for you when I get home.
I'm on this rom version:
ro.build.pandora.id=Acer_AV041_A510_RV28RC04_PA_CUS1
ro.build.flexrom.id=Acer_AV041_A510_1.076.00_PA_CUS1
I unlocked bootloader,rooted,installed cwm then backed up my stock rom.Could i restore my stock rom then be able to send you those fills
and return to total stock.
NoThrills said:
Hi, your device will not brick, I can send you a test A511 recovery if you want. Worst that can happen is that recovery won't boot, but in that case you can simply put back recovery. Send me a private message and we can work something out.
Click to expand...
Click to collapse
i think he mean that the a511 recovery doesn't work properly....you can flash a zip, but nearly all other options brick the device
i have a a511 too with Acer_AV041_A511_1.028.00.EMEA_DE and can help with testing or something else
I have Acer AV041_A510_1.079.00_PA_CA. (Canada)
I have not done a thing to it because it is a replacement for the Galaxy Note I bricked trying to upgrade from GB to ICS, too early.
I might try again if I was sure I could get back to where I am, using your process.
I assume that your Root link is comprehensive but I also need reassurance on how to ADB.
[email protected]
Sent from my A510
blgblade said:
i think he mean that the a511 recovery doesn't work properly....you can flash a zip, but nearly all other options brick the device
Click to expand...
Click to collapse
No, as I understand, the only working methode to root the a511 is to bootloader unlock, flash the custom recovery and then the root.zip.
Maybe I'm wrong and there is another working way to root the device ?
The problem is simply, that we lost the stock recovery before we have a backup from it.
If we have another root way for a511, the backup of stock firmware is done in a few minutes and from this point we can test the a511 custom recovery from NoThrills.
To the A511 owners: Technically, if you have a install-recovery.sh file on your device, the device will always flash recovery back from the boot.img.
In theory: To test, one could simply overwrite the stock recovery with my Recovery (not the other ones, they will brick your device) and then when you reboot, your device will overwrite the recovery with the stock one again. So you really don't need a backup of the recovery partition.
As long as you don't let your device fully boot (so, stay in recovery) there's plenty of time to test if the recovery works or not. If it doesn't, simply reset your device and it will flash back the original recovery (again: provided there is a install-recovery.sh in your /system partition).
So again, if anyone is willing to test, let me know
NoThrills said:
To the A511 owners: Technically, if you have a install-recovery.sh file on your device, the device will always flash recovery back from the boot.img.
Click to expand...
Click to collapse
I can't find a install-recovery.sh in /system partition on my a511. Search on root-explorer can't find one on the device.
Even NOT on /system/etc like on other devices.
NoThrills said:
So unfortunately, we can't use your dumps to restore devices to factory state. Unless, ofcourse, you've made a backup of the apps somewhere.
Click to expand...
Click to collapse
Ah damn, I did back them up via titanium but it doesn't seem to want to restore them - it just sits there say restoring app.
scorpio16v said:
I can't find a install-recovery.sh in /system partition on my a511. Search on root-explorer can't find one on the device.
Even NOT on /system/etc like on other devices.
Click to expand...
Click to collapse
Yeah, I meant /system/etc... That's weird, I'd figure Acer would use the same system on the A511... Let me check one of the leaked ROMs...
Hello,
I have an stock Acer_AV041_A510_1.098.00_EMEA_CUS1, there we go for the files
Host file is not the stock version, it was edited by AdAway.
Can you make a version without recovery overwritting ?
I thinks a lot of people want to try some roms... just for testing...
Acer_AV041_A510_1.098.00_EMEA_CUS1 boot && system && flexroom:
http :// dl.free.fr/jDEmTNSD4
Have Fun
Hello,
I have the same rom without root or unlocked bootloader or moded recovery so if the above on does not make it I'll upload mine.
Sent from my A510 using xda app-developers app

[Q] Something Missing from my files?

Hi
I am trying to install the Jellybean 4.1.1 ROM on my rooted Nexus S.
The history of my attempts so far are here: Rooted Nexus S OTA Upgrade to 4.1 http://forum.xda-developers.com/showthread.php?t=1833420
I have downloaded the "image-soju-jro03e.zip" form the Android open source website, and used the Nexus Root Toolkit to install it.
This failed, and I attempted to install the image using ROM Manager.
This also failed, and produced a lengthy Recovery Log.
I have read through it and it seems to be telling me that certain files or folders are missing from the download.
e.g can't open /dev/tty0: No such file or directory
W:Unable to get recovery.fstab info for /datadata during fstab generation!
W:Unable to get recovery.fstab info for /emmc during fstab generation!
W:Unable to get recovery.fstab info for /sd-ext during fstab generation!
can't find /sd-ext in /etc/fstab
Is that what this means?
How can I correct it?
The full log is here: https://docs.google.com/document/d/1HWeYsXPnppQbgoloz72RH81E8a479LBmvYXIlzYPETo/edit
S
Help with recovery log
Hello?
Can anyone help me to understand this recovery log?
Should I direct my question to the "ROM Manager" people?
I have tried without success to install JB 4.1.1 from the Google Android Images page, and I think it must because something is missing from the file structure of my current ROM.
Am I on the right track?
M S
First of all, what variant of the Nexus S do you have? If you turn off the device and remove the battery, it should be on the sticker showing the device serial number.
Once you find that, you can head over to this link and look for the right image for your device:
http://www.randomphantasmagoria.com/firmware/nexus-s/
I'm assuming that since you're from 4.0.4, you just need to flash the update zip. If you're device is rooted, chances are you have ClockworkMod installed. If so, maybe you should just consider putting in a custom ROM. Flashing it should be much faster. I'd be glad to help you if you can give more info on your variant, current software state (version, rooted/not rooted, etc).
new hope
nightsky87 said:
First of all, what variant of the Nexus S do you have? If you turn off the device and remove the battery, it should be on the sticker showing the device serial number.
Once you find that, you can head over to this link and look for the right image for your device:
http://www.randomphantasmagoria.com/firmware/nexus-s/
I'm assuming that since you're from 4.0.4, you just need to flash the update zip. If you're device is rooted, chances are you have ClockworkMod installed. If so, maybe you should just consider putting in a custom ROM. Flashing it should be much faster. I'd be glad to help you if you can give more info on your variant, current software state (version, rooted/not rooted, etc).
Click to expand...
Click to collapse
Hello nightsky ( is that like, "nice guy",?) thanks for taking a look.
My phone is a Nexus S i9020, no suffix.
It is running Andriod 4.0.4 ICS. It is "rooted" and "unlocked".
I have Clockwork Mod v.6.0.1.0. Superuser v.3.1.3. and ROM Manager v.5.0.2.0.
I have tried over and over again without success to upgrade to JB 4.1.1 and I am getting sick and tired of this stupid game.
I would be happy to just stick with ICS 4.0.4, but every week, the phone tells me that an "update is available", and I have to dismiss the message every time I look at the phone! When I tried to apply the update It used to crash, requiring a battery-pull reset. Now I have CWM it takes over and says "failed to verify file signature", "install untrusted package?"
If I press on and install, it fails and the android is on its back with a red triangle on its belly.
If you look at the posts I have linked to, I have been on a steep learning curve regarding ROM flashing, and I understand the basic idea, its just that when I follow the instructions given on the forum, It doesn't happen that way for me and I suspect that there is something wrong with the file structure on my phone. That is why I have posted the link to my recovery log.
If you can help, please reply.
I have had a look at the "Random Phantasmogoria" site that you recommend, is it offering anything different than the Google developers site https://developers.google.com/android/nexus/images that I have downlooaded my image from?
MS
another version!
PS I have just had a look at the Google Dev. site and there appears to be a new version of 4.1.1 called JRO03L.
My next attempt, I'll try that.
MS
goodnight
Factory images are not to be installed with ROM manager/recovery.
They are factory images that are installed with fastboot.
Your solution is a rather simple but may seem complex to you at first. If that makes sense.
First screw all those one click/ ROM manager crap.
Either download the SDK and get the platform tools add on ( quides are all the over the place). Or use one of those zips people make that include fastboot.exe and a driver or whatnot.
Boot the phone into the bootloader. Connect it to the PC. Open a command prompt in the directory with fastboot.exe and the factory images....
Type in fastboot devices. If your serial comes up just follow the commands in the quide. Re root if you want.
What you where attempting to do reminds me of kids in the arcades just smashing buttons and hoping something works
I am not going to right a guide m. There are stickies and somebody actually made a very noon friendly explanation the other day on here somewhere. Sorry don't know where at the moment.
If there is a specific part or something in particular you don't get let me / us know.
Moral of the story is a once a computer is set up with fastboot properly it is very simple.
jus to add on the post above. the instruction to install the factory images are on the same page where you downloaded the image in question.
and there is something to be wary of : flashing the factory image will WIPE the phone CLEAN (except what's on the usb storage o/c).
albundy2010 said:
Factory images are not to be installed with ROM manager/recovery.
They are factory images that are installed with fastboot.
Your solution is a rather simple but may seem complex to you at first. If that makes sense.
First screw all those one click/ ROM manager crap.
Either download the SDK and get the platform tools add on ( quides are all the over the place). Or use one of those zips people make that include fastboot.exe and a driver or whatnot.
Boot the phone into the bootloader. Connect it to the PC. Open a command prompt in the directory with fastboot.exe and the factory images....
Type in fastboot devices. If your serial comes up just follow the commands in the quide. Re root if you want.
What you where attempting to do reminds me of kids in the arcades just smashing buttons and hoping something works
I am not going to right a guide m. There are stickies and somebody actually made a very noon friendly explanation the other day on here somewhere. Sorry don't know where at the moment.
If there is a specific part or something in particular you don't get let me / us know.
Moral of the story is a once a computer is set up with fastboot properly it is very simple.
Click to expand...
Click to collapse
Smashing buttons and hoping something works?
That's not very nice, or fair!
If you take the trouble to read my post, and the linked previous posts, you will see that I am trying my best to follow the instructions given on this forum, where I hoped to find knowledgeable professionals who contribute their valuable time free of charge to help noobs like me.
So far I have followed the instructions, only to get something other than the result described. This is why I am asking for your help to understand the recovery log, so that I can work out for myself what went wrong, and what I should change next time to get it right.
At this point in the journey I am still unsure about backup. I have "backed up" using the nexus root tool kit, which is a Nandroid back up, and I have "backed up" using ROM manager, but Titanium Back-Up does not recognise the backups and wants me to "back up" some more. After all this is over will I be able to clear out all the dross that my phone memory is accruing? Is there any point backing up Apps like "Google Earth" when I can easily download them from the Play Store after I have my new OS? etc... etc...
Anyway, I am going to try again, this time with the new JRO03L image, and this time I shall do it Command Line style instead of the "one click crap", as you recommend, my friend. I'll let you know how I get on.
MS

[Q] 100% Original Stock ROM backup before root?

Hi there,
I am new to xda and new to Android hacking.
What I wanna ask is, (I guess it's of most newbies concern as well), can we have a 100% backup of our system (stock ROM)? Obviously, it is important because:
If we perform an official (OTA) update to a new Android version. And we don't like it. It is possible to get back to the old original one which we are used to. (not everybody likes new things, and/or not every new thing is good)
If our phones are having some problems. And we have to give it back to the company for a fix. In most cases they will flash a new ROM for us. If we wanna keep using the old one (explained in #1), we have to keep a copy of it by ourselves.
If we want to try new custom ROMs, we may want to switch it back after trying.
Whenever we do any modifications, it's always better to keep a backup/roll-back point. In case anything goes wrong, we have a safeguard.
For the official warranty issue.
Yup I do see there are some official stock ROMs downloads for some particular phones. But those are not really a backup of our original ROMs. And it's always hard to verify if those downloads are the original official releases. And, if those downloads are 100% stock ROMs, this means some guys out there could make it, so what is the way to do so?
Or, how those mobile phone companies do it in their labs?
I have been doing researches on this topic for a few days. Some posts claim that their methods are "backup stock ROM" or "backup before rooting". But after digging into it, they requires rooting and/or flashing CWM. Here comes a few questions:
Questions
Rooting will in fact changes some files/data of the system. So backup after root is NOT getting the original stock ROM. Is it?
Is there a method to "un-root", so ALL the changes are TOTALLY reverted?
Installing/flashing things like CWM in phone requires rooting, which would make the ROM not original. Is there a way to extract the system backup from a computer externally?
In addition, I have found some related pieces. which could be useful to anyone viewing this post, and might be useful for you to solve this (my) question. :fingers-crossed:
* as I'm a new user, I can't post links directly. Please delete the blank spaces in between.
ht tp://www .modaco .com/topic/351269-backup-original-rom/
In reply #5, user C3C0 raised a method of backing up the original stock ROM without root. But it seems he is flashing CWM and that method is only for ZTE Skate.
adb backup tool of Android SDK
At the first sight i came across this approach, I thought it is the official method to do whole system (ROM) backup (WOW - how nice!). But after studying for a few more posts, I think adb backup can only backup app+app_data, and possibly some system settings only. Am I correct? And also, adb backup is only for ICS (Android 4.0), isn't it?
adb backup usage: ht tp://forum.xda-developers .com/showthread.php?t=1420351
(But mentioned in the bottom of #1 the poster is having some issues on using adb backup. Perhaps there are some bugs and not reliable(?)
One more question on adb backup: Can it backup just one app+app_data, and restore just one app+app_data, without affecting other things? If yes, we don't need to root and don't need Titanium Backup (which requires root) for backup app+app_data. Isn't it?
** In case I have said anything or any terms wrongly in this thread, please DO correct me, for helping me and helping others.
P.S. i am using LG Optimus 3D.
Thanks a lot, wholeheartedly,
midnite_
Backup phone before root
Hello all this is my first post here...woohoo!:fingers-crossed: This forum is amazing as to the amount of information available. I just wish that in looking for what I need to do I did not need to look in so many places. I feel that if I want to root my T-Mobile GS3 that all the information should be in one subsection of the forum, but it is not that simple I guess....lol Anyway any help would be greatly appreciated.
I have a Samsung GS3 with T-Mobile that I want to root. Everyone says to back up the phone before you do it but I am not really seeing how to make a backup before I start. It appears that most of the guides to root just say to backup without telling you how to fo it. Another thing (correct me if I am wrong) I see the nandroid backup that I think is a backup of the phone however it seems to be done after you make changes to the phone and I thought the backup was supposed to be done before you do anything. Is it that there is not a way to make a complete backup with an unrooted phone?
My question is basically the same as the OP here. I have been reading and reading and reading posts here in the forum. There is much information here and much of it is duplicated with slight variances in some of the duplicates. I am not certain as to which rooting method I should use. There seem to be so many choices. As a new person to this forum I will say that you can find just about everything about any phone which is awesome. The hard thing is sifting through the many options to pick one to use for your issue.
I do see that Mr. Robinson has a thread with backups of the original roms. The only thing is that they are default roms that are like an out of the box phone and not my phone with my apps and my settings. That is what I want to backup...My phone with my settings and my apps.
:good: Thank you in advance for any one that can shed some light on this for me and the OP'er
ASharpEdge said:
Hello all this is my first post here...woohoo!:fingers-crossed: This forum is amazing as to the amount of information available. I just wish that in looking for what I need to do I did not need to look in so many places. I feel that if I want to root my T-Mobile GS3 that all the information should be in one subsection of the forum, but it is not that simple I guess....lol Anyway any help would be greatly appreciated.
I have a Samsung GS3 with T-Mobile that I want to root. Everyone says to back up the phone before you do it but I am not really seeing how to make a backup before I start. It appears that most of the guides to root just say to backup without telling you how to fo it. Another thing (correct me if I am wrong) I see the nandroid backup that I think is a backup of the phone however it seems to be done after you make changes to the phone and I thought the backup was supposed to be done before you do anything. Is it that there is not a way to make a complete backup with an unrooted phone?
My question is basically the same as the OP here. I have been reading and reading and reading posts here in the forum. There is much information here and much of it is duplicated with slight variances in some of the duplicates. I am not certain as to which rooting method I should use. There seem to be so many choices. As a new person to this forum I will say that you can find just about everything about any phone which is awesome. The hard thing is sifting through the many options to pick one to use for your issue.
I do see that Mr. Robinson has a thread with backups of the original roms. The only thing is that they are default roms that are like an out of the box phone and not my phone with my apps and my settings. That is what I want to backup...My phone with my settings and my apps.
:good: Thank you in advance for any one that can shed some light on this for me and the OP'er
Click to expand...
Click to collapse
Hi ya,
It's so nice that you are having the same concern as I do.
As far as i know, the approaches of rooting differ from phones to phones. So we may have to find our own specific rooting method in the phone model sub-forums. It won't be hard for your popular S3
I would like to have a look at that Mr. Robinson's thread. If he can backup the stock ROM, those app+app_data wont a big issue (i guess).
cheers,
midnite_
midnite_ said:
Questions
Rooting will in fact changes some files/data of the system. So backup after root is NOT getting the original stock ROM. Is it?
Is there a method to "un-root", so ALL the changes are TOTALLY reverted?
Installing/flashing things like CWM in phone requires rooting, which would make the ROM not original. Is there a way to extract the system backup from a computer externally?
Click to expand...
Click to collapse
Hi midnight, welcome to a new and exciting world of Android and trying new things. First, let me assure you, what you want is NOT something new. People have been doing this type of thing for years. That is flashing and testing roms. As you will learn, it actually becomes quite addictive. We call those folks that get addicted to flashing: Flashaholics or crackflashers, lol
First let me talk about "root". This process consists of unlocking a lower level of the Android system known as the bootloader. Unlocking the bootloader of your device allows you to flash a custom recovery, flashing a custom recovery allows you to flash the Superuser binary and Superuser.apk, This is what allows you to use apps that require "root". The bootloader is not an OS file. So when you are unlocking your bootloader you are not modifying your stock rom. Only when you have flashed the Superuser package have you modified your stock rom. And even that isn't really modifying anything. When you flash the Superuser package, it adds two files to your rom at certain locations of the file system. It adds the Superuser.apk file to system/app and it adds the SU binary to system/bin. Basically you CAN have a totally S-OFF (unlocked) bootloader and still have an entirely stock rom if you want. But the real benifit is flashing a custom recovery like ClockworkMod Recovery and then flash the superuser package.
As far as extracting the stock system, you should try giving adb a go. Do it right now if you like. Ensure you have the android sdk installed and properly set up on your computer and your computer can recognize your phone. Ensure your phone is in debugging mode, connect your phone to your computer, open up a command window, and run this command:
Code:
adb pull \
This command will pull everything off your phone except for data which is where your market or Google Play apps are stored.
Beyond XDA there are aso more resources to learn from. For example, http://www.android.com is a good place to start, and to learn more about adb check out http://developer.android.com/tools/help/adb.html
If you need to learn how to setup the sdk here is the place to learn how: http://developer.android.com/sdk/index.html
I'm sure others will add to this as well which is the good thing about this community.
Welcome to XDA, I hope you have fun learning, and maybe share back someday things you learn along the way.
wildstang83 said:
Hi midnight, welcome to a new and exciting world of Android and trying new things. First, let me assure you, what you want is NOT something new. People have been doing this type of thing for years. That is flashing and testing roms. As you will learn, it actually becomes quite addictive. We call those folks that get addicted to flashing: Flashaholics or crackflashers, lol
First let me talk about "root". This process consists of unlocking a lower level of the Android system known as the bootloader. Unlocking the bootloader of your device allows you to flash a custom recovery, flashing a custom recovery allows you to flash the Superuser binary and Superuser.apk, This is what allows you to use apps that require "root". The bootloader is not an OS file. So when you are unlocking your bootloader you are not modifying your stock rom. Only when you have flashed the Superuser package have you modified your stock rom. And even that isn't really modifying anything. When you flash the Superuser package, it adds two files to your rom at certain locations of the file system. It adds the Superuser.apk file to system/app and it adds the SU binary to system/bin. Basically you CAN have a totally S-OFF (unlocked) bootloader and still have an entirely stock rom if you want. But the real benifit is flashing a custom recovery like ClockworkMod Recovery and then flash the superuser package.
As far as extracting the stock system, you should try giving adb a go. Do it right now if you like. Ensure you have the android sdk installed and properly set up on your computer and your computer can recognize your phone. Ensure your phone is in debugging mode, connect your phone to your computer, open up a command window, and run this command:
Code:
adb pull \
This command will pull everything off your phone except for data which is where your market or Google Play apps are stored.
Beyond XDA there are aso more resources to learn from. For example, ht tp://www .android .com is a good place to start, and to learn more about adb check out ht tp://developer .android .com/tools/help/adb.html
If you need to learn how to setup the sdk here is the place to learn how: ht tp://developer .android .com/sdk/index.html
I'm sure others will add to this as well which is the good thing about this community.
Welcome to XDA, I hope you have fun learning, and maybe share back someday things you learn along the way.
Click to expand...
Click to collapse
Hi Wildstang,
Thanks very much for your warm welcome and very informative reply. So are you a Flashaholics or Crackflashers yet?
As I am a newbie, please forgive me if I am asking dumb questions.
As far as I understand,
The steps of root is
1. Unlock the bootloader
2. Flash Superuser binary & Superuser.apk
** does "flash a custom recovery" means "flash Superuser binary & Superuser.apk"?
"Flash Superuser binary & Superuser.apk" is just "add SU binary to system/bin" and "add Superuser.apk to system/app". Then why not just copy them into place?
I just found on the web that "flashing" means replacing the OS of the phone with a new ROM. Would that still keeping the stock ROM?
To have a backup of the original stock ROM, can I
1. Unlock the bootloader
2. Flash Superuser binary & Superuser.apk
3. Perform the backup
And later, after I have flashed a new ROM, or whatever I do, as long as I didn't brick it, when I want to rollback my phone to its original, I can
1. Restore the backup
2. Delete "SU binary in system/bin" and "Superuser.apk in system/app"
3. re-lock the bootloader
Is this correct?
I don't mean to challenge you. But does adb pull \ really backup the system, or just all the files?
Thanks very much again!
midnite_
Hey midnite_,
I am a newbie too and have a lot of blank spots in my understanding of what we can do with android. I also came here with same question. I found how to root, this isn't a secret. Like you, I want to know how do I fix it if I break it.
So, with regards to your questions.
1. Unlock the bootloader
Not clear on this one, as not every tutorial even mentions this part. My feeling is that this might be specific to some phones, like HTC.
2. Flash Custom Recovery (such as AmonRa, CWR, TWRP...)
Recovery is an intermediate stage of phone booting process after bootloader but before OS.
It is there to allow OTA (Over the air) updates. During those, the OS is halted and replaced with a newer one.
What this means for us is that the recovery is capable of replacing OS (ROM - are these terms interchangeable?).
Recovery is the same as hidden partition on windows, that is sometimes present on a PC. It has a limited interface.
It can replace one OS image with another. It probably checks the checksum and creates the new one after the update. It is probably the gatekeeper.
Stock recovery will not replace OS with an image from SD card or from PC through USB. Only OTA.
This is the reason for flashing the custom (hacked) recovery on.
Custom recovery is made to allow additional options, such as allowing image sources such as PC or SD card, and also a ROM backup (write OS image to PC).
3. Flash update file using "upgrade from SD card" function of custom recovery now in place.
In this step, the Superuser.apk and bin files are placed. Stock recovery will not let us do that.
Also, I think the reason we can't just use ADB to "copy" superuser package to phone is because the system is either running or exists as an image (compressed?), and is probably protective of its modification. (So, likely the superuser package also replaces the checksum that the OS uses to check if it has been compromised?) Yes, this modifies your rom.
I assume that unrooting could be done after this by updating again with a file that removes superuser package and that would make your rom stock again.
4 OR flash custom ROM, which usually includes superuser package. Of course using custom rom means you no longer have stock rom.
To have a backup of original ROM, you would :
1 Unlock bootloader,
2 Flash (install) custom recovery
3 superuser doesn't matter here
4 Use custom recovery function to back up your stock ROM.
I want to know the answers to the rest of your questions as well as some clarifications to mine.
Personally, I am looking for a way to backup the stock recovery as well.
I know there are some people asking about this. The procedure appears to be as follows:
(pieced together so don't take it as a tutorial)
1 Unlock bootloader (again, unclear on this. Also some mention S-OFF and others don't)
2 With USB debugging allowed (meaning connect as device requiring a driver), Connect to a PC with ABD, and a driver installed.
3 From ADB, issue a command "adb boot recoveryimage.name" instead of the usual "adb flash recoveryimage.name".
This will make the phone boot into a custom recovery image that is residing on PC, without first writing it to the phone.
4 Unclear how, but make that custom recovery now being live to back up stock rom to pc.
5 Unclear how, but make that custom recovery now being live to flash either root or custom rom to the phone.
6 Disconnect, reboot the phone. Once in OS, use root privileges to mount recovery partition ? (this makes it visible as drive)
7 Don't know how, but use root privileges to back up now visible stock recovery partition to PC as image.
( This should give you two out of three original parts.)
Keep in mind that even if my peace-by-peace "know-how" ever works, there is at least one clearly faulty step:
The back up of the original state of the boot loader has been never made. I do not know if it is easily can be toggled back and forth from lock to unlock and back without leaving any trace. Also, like yourself, I probably don't quite understand what am I talking about, but I have tried to make as much sense of what I have read here and there.
This is my first smart phone, and my experience with linux is limited to building a minecraft server on MineOS, which was pre-made so that not much was required to make it run. I have "mounted" a partition for the first time last week, trying to break Win7recovery, booting it with Knoppix. This is why I think this is probably will come in play here too, as the recovery partition on W7 was hidden. Until then I didn't understand what mounting means, as windows always does it for you. So, take everything I say with a bunch of salt.
Please, let me know too, if you find out more. I want to flash the hell out of my Prism, but I want to be smart about it.
bump... midnite_ r u still around?
Hi Descent2,
Yes i am still around but i am busy with other stuffs at this moment. Thanks very much for your reply. You have studied a lot and you really did good summarisations. Very informative and I learnt a lot from it. Hope some of the masters or experienced ones would come by and bring us out of the mist
cheers,
midnite_
Descent2 said:
Hey midnite_,
I am a newbie too and have a lot of blank spots in my understanding of what we can do with android. I also came here with same question. I found how to root, this isn't a secret. Like you, I want to know how do I fix it if I break it.
So, with regards to your questions.
1. Unlock the bootloader
Not clear on this one, as not every tutorial even mentions this part. My feeling is that this might be specific to some phones, like HTC.
2. Flash Custom Recovery (such as AmonRa, CWR, TWRP...)
Recovery is an intermediate stage of phone booting process after bootloader but before OS.
It is there to allow OTA (Over the air) updates. During those, the OS is halted and replaced with a newer one.
What this means for us is that the recovery is capable of replacing OS (ROM - are these terms interchangeable?).
Recovery is the same as hidden partition on windows, that is sometimes present on a PC. It has a limited interface.
It can replace one OS image with another. It probably checks the checksum and creates the new one after the update. It is probably the gatekeeper.
Stock recovery will not replace OS with an image from SD card or from PC through USB. Only OTA.
This is the reason for flashing the custom (hacked) recovery on.
Custom recovery is made to allow additional options, such as allowing image sources such as PC or SD card, and also a ROM backup (write OS image to PC).
3. Flash update file using "upgrade from SD card" function of custom recovery now in place.
In this step, the Superuser.apk and bin files are placed. Stock recovery will not let us do that.
Also, I think the reason we can't just use ADB to "copy" superuser package to phone is because the system is either running or exists as an image (compressed?), and is probably protective of its modification. (So, likely the superuser package also replaces the checksum that the OS uses to check if it has been compromised?) Yes, this modifies your rom.
I assume that unrooting could be done after this by updating again with a file that removes superuser package and that would make your rom stock again.
4 OR flash custom ROM, which usually includes superuser package. Of course using custom rom means you no longer have stock rom.
To have a backup of original ROM, you would :
1 Unlock bootloader,
2 Flash (install) custom recovery
3 superuser doesn't matter here
4 Use custom recovery function to back up your stock ROM.
I want to know the answers to the rest of your questions as well as some clarifications to mine.
Personally, I am looking for a way to backup the stock recovery as well.
I know there are some people asking about this. The procedure appears to be as follows:
(pieced together so don't take it as a tutorial)
1 Unlock bootloader (again, unclear on this. Also some mention S-OFF and others don't)
2 With USB debugging allowed (meaning connect as device requiring a driver), Connect to a PC with ABD, and a driver installed.
3 From ADB, issue a command "adb boot recoveryimage.name" instead of the usual "adb flash recoveryimage.name".
This will make the phone boot into a custom recovery image that is residing on PC, without first writing it to the phone.
4 Unclear how, but make that custom recovery now being live to back up stock rom to pc.
5 Unclear how, but make that custom recovery now being live to flash either root or custom rom to the phone.
6 Disconnect, reboot the phone. Once in OS, use root privileges to mount recovery partition ? (this makes it visible as drive)
7 Don't know how, but use root privileges to back up now visible stock recovery partition to PC as image.
( This should give you two out of three original parts.)
Keep in mind that even if my peace-by-peace "know-how" ever works, there is at least one clearly faulty step:
The back up of the original state of the boot loader has been never made. I do not know if it is easily can be toggled back and forth from lock to unlock and back without leaving any trace. Also, like yourself, I probably don't quite understand what am I talking about, but I have tried to make as much sense of what I have read here and there.
This is my first smart phone, and my experience with linux is limited to building a minecraft server on MineOS, which was pre-made so that not much was required to make it run. I have "mounted" a partition for the first time last week, trying to break Win7recovery, booting it with Knoppix. This is why I think this is probably will come in play here too, as the recovery partition on W7 was hidden. Until then I didn't understand what mounting means, as windows always does it for you. So, take everything I say with a bunch of salt.
Please, let me know too, if you find out more. I want to flash the hell out of my Prism, but I want to be smart about it.
Click to expand...
Click to collapse
check here
All your answers can be found here: [REF] [GUIDE] Welcome to your device, the Galaxy S III. For more XDA related issues check here: [GUIDE] - XDA New User Guide - Getting started on XDA
Good Luck!
mf2112
XDA Moderator
ASharpEdge said:
Hello all this is my first post here...woohoo!:fingers-crossed: This forum is amazing as to the amount of information available. I just wish that in looking for what I need to do I did not need to look in so many places. I feel that if I want to root my T-Mobile GS3 that all the information should be in one subsection of the forum, but it is not that simple I guess....lol Anyway any help would be greatly appreciated.
I have a Samsung GS3 with T-Mobile that I want to root. Everyone says to back up the phone before you do it but I am not really seeing how to make a backup before I start. It appears that most of the guides to root just say to backup without telling you how to fo it. Another thing (correct me if I am wrong) I see the nandroid backup that I think is a backup of the phone however it seems to be done after you make changes to the phone and I thought the backup was supposed to be done before you do anything. Is it that there is not a way to make a complete backup with an unrooted phone?
My question is basically the same as the OP here. I have been reading and reading and reading posts here in the forum. There is much information here and much of it is duplicated with slight variances in some of the duplicates. I am not certain as to which rooting method I should use. There seem to be so many choices. As a new person to this forum I will say that you can find just about everything about any phone which is awesome. The hard thing is sifting through the many options to pick one to use for your issue.
I do see that Mr. Robinson has a thread with backups of the original roms. The only thing is that they are default roms that are like an out of the box phone and not my phone with my apps and my settings. That is what I want to backup...My phone with my settings and my apps.
:good: Thank you in advance for any one that can shed some light on this for me and the OP'er
Click to expand...
Click to collapse
Thanks mf2112. But those resources are seem only for GS3. And it seems it is not teaching us to backup our stock ROMs, it provides stock ROMs for us to download instead. Is there a general way to backup our stock ROMs?
Thanks,
midnite_
mf2112 said:
All your answers can be found here: [REF] [GUIDE] Welcome to your device, the Galaxy S III. For more XDA related issues check here: [GUIDE] - XDA New User Guide - Getting started on XDA
Good Luck!
mf2112
XDA Moderator
Click to expand...
Click to collapse
You must unlock your bootloader then flash a custom recovery. You will then use that custom recovery to make a backup of your rom. That backup will be stored on your sd card.
Now, I have tried to help you and so have a couple other folks. You expect us to just give you answers step by step. I am sorry but this is simply not how XDA works. XDA is set up in a way which makes it for any users to find quickly what they want to know. Use the search feature on the site and you will find many answers. I tell you to go do your own research now and be proud of what you learn on your own. And if you cannot, please do not try to modify your phone further, you may just brick it if you aren't careful.
midnite_ said:
Thanks mf2112. But those resources are seem only for GS3. And it seems it is not teaching us to backup our stock ROMs, it provides stock ROMs for us to download instead. Is there a general way to backup our stock ROMs?
Thanks,
midnite_
Click to expand...
Click to collapse
I put in the GS3 links since the OP was using that phone. Every phone will be different so I don't think a general way or guide would be practical.
Sent from my HTC Sensation 4G using xda premium

[Q] CF-Auto-Root for Nexus 5 - How it works?

Hey guys,
I couldn't find it anywhere and I don't really know if this is the right place to ask, but I'll give it a try...
I wonder how does the CF-Auto-Root for the nexus 5 works?
I can see in the windows batch file that it unlocks the bootloader (that's the easy part) and than boot with some image file.
It seems that this tool is not installing any custom recovery which I always saw is a necessary tool for rooting.
What exactly is this image file? what does it do? Where does it come from? What it contains?
Why it's device related (different image files for different nexus devices running the same stock version).
Thanks,
Casteel.
Casteel said:
Hey guys,
I couldn't find it anywhere and I don't really know if this is the right place to ask, but I'll give it a try...
I wonder how does the CF-Auto-Root for the nexus 5 works?
I can see in the windows batch file that it unlocks the bootloader (that's the easy part) and than boot with some image file.
It seems that this tool is not installing any custom recovery which I always saw is a necessary tool for rooting.
What exactly is this image file? what does it do? Where does it come from? What it contains?
Why it's device related (different image files for different nexus devices running the same stock version).
Thanks,
Casteel.
Click to expand...
Click to collapse
Unlocking and rooting is a piece of cake with CF Auto Root for the N5, i never xperienced issues with it. Download CF Root for the Nexus 5, unzip it with 7-zip. Enable usb debugging in developer options, then go into bootloader/fastboot mode, open the uznipped CF Root folder and press Root_windows.bat and follow instructions. Takes 30 seconds - 1 minute all in all.
Thanks, but...
gee2012 said:
Unlocking and rooting is a piece of cake with CF Auto Root for the N5, i never xperienced issues with it. Download CF Root for the Nexus 5, unzip it with 7-zip. Enable usb debugging in developer options, then go into bootloader/fastboot mode, open the uznipped CF Root folder and press Root_windows,bat and follow instructions. Takes 30 seconds - 1 munute all in all.
Click to expand...
Click to collapse
First, thanks for your response.
I don't have a problem with making it work.
As you said, it is super simple and no question it's a great tool.
My question is about how it works? What exactly does it do behind the scene?
Casteel said:
First, thanks for your response.
I don't have a problem with making it work.
As you said, it is super simple and no question it's a great tool.
My question is about how it works? What exactly does it do behind the scene?
Click to expand...
Click to collapse
It unlocks the BL and injects superSU in one go without having to flash a seperate superSU.zip with a custom recovery. Thats all.
gee2012 said:
It unlocks the BL and injects superSU in one go without having to flash a seperate superSU.zip with a custom recovery. Thats all.
Click to expand...
Click to collapse
What do you mean by "injects SuperSU" ?
It sounds very simple from the way you say it. Why can't I do this myself?
I believe it doesn't just mean copy it to the right place.
Does it also include putting the su binary in the right system path with the right permissions?
How does the root privilage is gained?
Does only unlocking the BL let me write to the system partition?
I would really appreciate some technical details to understand this rooting process and what this image file contains.
Thanks again!
Read this http://forum.xda-developers.com/showthread.php?t=2507211 and this http://forum.xda-developers.com/showthread.php?t=1980683. You can also do the root yourself manualy if that more comfortable for you.
gee2012 said:
Read this http://forum.xda-developers.com/showthread.php?t=2507211 and this http://forum.xda-developers.com/showthread.php?t=1980683. You can also do the root yourself manualy if that more comfortable for you.
Click to expand...
Click to collapse
gee2012, I really appreciate your help.
I've already read (most of) these two threads before posted here, and couldn't find an answer to my questions,
only general explanations about how to make it work and how to solve problems,
nothing about HOW it works and what it actually does.
I have already rooted my device with this tool, I don't have any discomfort with is,
just pure technological curiosity about how it works.
Sure, I can also root myself manually, but all the guides I read about it mentioned installing custom recovery, and that tool does it with out it.
Casteel said:
gee2012, I really appreciate your help.
I've already read (most of) these two threads before posted here, and couldn't find an answer to my questions,
only general explanations about how to make it work and how to solve problems,
nothing about HOW it works and what it actually does.
I have already rooted my device with this tool, I don't have any discomfort with is,
just pure technological curiosity about how it works.
Sure, I can also root myself manually, but all the guides I read about it mentioned installing custom recovery, and that tool does it with out it.
Click to expand...
Click to collapse
Look here https://www.google.com/search?q=how+root+works&ie=utf-8&oe=utf-8&aq=t and other sites how root works http://stackoverflow.com/questions/...hat-are-the-pre-requisites-for-it-to-work-wha.
With Google you can find anything
Actually, I read this also...
It only talks about gaining root privilage using some system exploit.
So, you're telling that CF-Auto-Root is running some script in its bootable image file that is using some kind of exploit to gain root access?
Shouldn't it be less "hacky" thing in nexus devices?
And how can it be that the image file is related to specific devices and not to specific stock versions?
What prevents from other apps to use this so called "exploit"?
This is probably what you are looking for...
Embedded in the boot image a folder cfroot with the SuperSU apk file, the su binary and the necessary init scripts and there is a binary under sbin does the remaining steps of copying the files to the respective places. It is not an exploit, it merely uses the boot image and the boot process to "install" SuperSU. You do not need a custom recovery to root your phone, merely the capability to copy the superuser files to the /system partition.
In more detail:
1. Embedded in the ramdisk is a folder "cfroot" with "99SuperSUDaemon, install-recovery.sh, su and Superuser.apk".
2. In the sbin folder in the ramdisk is a binary "cfautoroot" which does stuff like copy the above files to the correct locations and set the appropriate permissions, etc.
3. This file is called through the "recovery" script/binary in the sbin folder
4. The "recovery" script/binary is executed as a startup server via the init system in "init.rc" within the ramdisk
The result:
When you boot up, the superuser files are copied to the respective locations with the right permission, thereby rooting the system
OK! Now we're getting closer
Thank you very much.
But I still have some confusions...
You said:
craigacgomez said:
there is a binary under sbin does the remaining steps of copying the files to the respective places.
You do not need a custom recovery to root your phone, merely the capability to copy the superuser files to the /system partition.
Click to expand...
Click to collapse
How did the "cfautoroot" got to my phone sbin folder?
How do I get the capability to copy the superuser files to the system partition?
Putting things in these folders and set their appropriate permissions doesn't require root from the first place?
How is the init.rc calling the recovery script to run the cfautoroot? shouldn't I need root access to modify init.rc?
[Is the CF-Auto-Root source code available somewhere to see all these files you're talking about?]
It sounds like only unlocking the bootloader is giving me some sort of "root" capabilities to do all these stuff. is it true?
Will this method work in non Nexus devices either?
And what are all those "exploits" that so many rooting guides are talking about?
I'm guessing it desn't have anything with rooting Nexus devices since rooting them is kind of part of their existence, isn't it?
Thanks again! :good:
Casteel said:
OK! Now we're getting closer
Thank you very much.
But I still have some confusions...
You said:
How did the "cfautoroot" got to my phone sbin folder?
How do I get the capability to copy the superuser files to the system partition?
Putting things in these folders and set their appropriate permissions doesn't require root from the first place?
How is the init.rc calling the recovery script to run the cfautoroot? shouldn't I need root access to modify init.rc?
[Is the CF-Auto-Root source code available somewhere to see all these files you're talking about?]
It sounds like only unlocking the bootloader is giving me some sort of "root" capabilities to do all these stuff. is it true?
Will this method work in non Nexus devices either?
And what are all those "exploits" that so many rooting guides are talking about?
I'm guessing it desn't have anything with rooting Nexus devices since rooting them is kind of part of their existence, isn't it?
Thanks again! :good:
Click to expand...
Click to collapse
"cfautoroot" is a binary created by Chainfire which is embedded in the sbin folder in the kernel ramdisk. It's in the CF Auto Root boot image. Android kernels are essentially Linux kernels and have an init process which is basically a bootstrap/startup process. init.rc is part of this process. It is run when the kernel boots up. Anything within the init process is low-level and essentially run as "root". It kick-starts various other processes like zygote which is the Android process management system. This will help you understand the init process a bit better (http://www.mekya.com/blog/2012/03/android-initialization-from-init-rc-to-third-party-code/). In the init.rc file is a line which "executes" the file /sbin/recovery (which is embedded in the ramdisk along with cfautoroot). This in turn "executes" cfautoroot which takes care of copying the superuser files to the correct locations and setting the correct permission. All this is done within the init process and has elevated (root) permission.
Unlocking the bootloader does not root your phone. It simply allows you to flash "unsigned" (custom) boot images.
Any phone with the ability to flash a custom boot image can make use of this process.
Exploits make use of holes or workarounds to either flash a custom boot image or inject files into the system partition without unlocking the bootloader and are only needed if you cannot unlock the phone bootloader.
Hope this helps!
Casteel said:
Hey guys,
I couldn't find it anywhere and I don't really know if this is the right place to ask, but I'll give it a try...
I wonder how does the CF-Auto-Root for the nexus 5 works?
I can see in the windows batch file that it unlocks the bootloader (that's the easy part) and than boot with some image file.
It seems that this tool is not installing any custom recovery which I always saw is a necessary tool for rooting.
What exactly is this image file? what does it do? Where does it come from? What it contains?
Why it's device related (different image files for different nexus devices running the same stock version).
Thanks,
Casteel.
Click to expand...
Click to collapse
Thank you for asking the question and being polite yet persistent about getting your answer. I have been trying to get to this answer myself for some time now.
Sent from my Nexus 5 using Tapatalk
Great! now we're even closer :victory:
So in the boot process I have elevated privilages, that basically what I was missing.
But this bootable image file is not an image of the OS, isn't it?
It is an image of the kernel?
It is some sort of pre-handled file system that the device is booted into and than startup the OS?
Or something like that...?
Thanks for your patient and the very quiqc responses!
We're almost there...
Casteel said:
Great! now we're even closer :victory:
So in the boot process I have elevated privilages, that basically what I was missing.
But this bootable image file is not an image of the OS, isn't it?
It is an image of the kernel?
It is some sort of pre-handled file system that the device is booted into and than startup the OS?
Or something like that...?
Thanks for your patient and the very quiqc responses!
We're almost there...
Click to expand...
Click to collapse
The boot image is not the OS image. It contains the kernel and the ramdisk. The ramdisk is the basically the root filesystem (/) which the kernel mounts, after which the init process begins and init.rc is called. Nothing is ever persisted or modified in the root filesystem unless it is done during the init process or it is embedded in the ramdisk
craigacgomez said:
The boot image is not the OS image. It contains the kernel and the ramdisk. The ramdisk is the basically the root filesystem (/) which the kernel mounts, after which the init process begins and init.rc is called. Nothing is ever persisted or modified in the root filesystem unless it is done during the init process or it is embedded in the ramdisk
Click to expand...
Click to collapse
Nice.
I thought the root file system is part of the OS image.
So basically, I can have the same OS installed on my devices with different file systems according to what is defined in boot?
One last question and I will stop bother you
Why is the image file device related?
Meaning, why nexus 4, 5 and 7 have different CF-Auto-Root?
(Nexus 7 even got several).
Thanks again!
Casteel said:
Nice.
I thought the root file system is part of the OS image.
So basically, I can have the same OS installed on my devices with different file systems according to what is defined in boot?
One last question and I will stop bother you
Why is the image file device related?
Meaning, why nexus 4, 5 and 7 have different CF-Auto-Root?
(Nexus 7 even got several).
Thanks again!
Click to expand...
Click to collapse
Yes, you could theoretically change the way your filesystem is defined via the boot image, but Android as an OS expects some things.
And each device has different autoroot files because they have different kernels and some differences in some init scripts specific to the hardware. Some devices like the Nexus 7 have multiple version (LTE & non-LTE for example) and there are hardware differences and different kernels.
craigacgomez said:
Yes, you could theoretically change the way your filesystem is defined via the boot image, but Android as an OS expects some things.
And each device has different autoroot files because they have different kernels and some differences in some init scripts specific to the hardware. Some devices like the Nexus 7 have multiple version (LTE & non-LTE for example) and there are hardware differences and different kernels.
Click to expand...
Click to collapse
A thousand thanks, Craig Gomez!
You really helped.
I truely appreciate the patient and the kindful responses.
It was a nice first experience in this forum.
Thank you very much!
Casteel said:
A thousand thanks, Craig Gomez!
You really helped.
I truely appreciate the patient and the kindful responses.
It was a nice first experience in this forum.
Thank you very much!
Click to expand...
Click to collapse
Glad I could help you... It's what communities are all about... Sharing knowledge and experiences.
Sent from my Nexus 5
Excellent thread. Thanks to OP and members who responded.

Problem with PhilZ recovery!

Hello,
I thought of myself as a pretty experienced user, but you never learn enough!
However, I flashed some roms (lollipop) that, probably due to my mistakes, screwed up my file system, to the point that my recovery (latest PhilZ) wasn't able to find its backup anymore. Eventually I solved the problem as I was able to find my backups and use them to revert my phone to the rom I wanted to run (Carbon 4.4.4). But I was really annoyed by the fact that my file system was a bit off and still I was having problems with the recovery. So I decided to begin investigating the possibility to restore my phone to factory default. Before going with it, I tried the soft approach, i.e. I used the soft factory reset available from the settings menu. It all seemed fine and I re-flashed a lollipop rom that suited me.
Now the problem is that, after all the ordeal, I decided to make a new backup and so I did. It appears all fine, my recovery can actually "see" it, but I cannot identify it using a root browser! It seems to have disappeared unless I open the recovery and then I see it there. It is located in a folder that I can, of course, access, but,when I do so, I can't find the file!
I tried to put on my phone an old backup (always a PhilZ one), but when I try to put it on the phone I can't find the Backup folder in the Clockworkmod folder!
Anyone has any idea of what is going on and can give me a suggestion on how to overcome the problem?
Thanks
Luca
PS An alternative would be suggesting how to do a restore from a sideload: I thought I saw a similar option, but I can't seem to find it anymore within the recovery's options! I tried also restoring via NRT, but although all seem to go fine and the software return no failure notice, I can't find the backup file that should have been pushed (successfully) on my device!
Its not a recovery issue. Its an L issue.
Best thing to do would be to wipe data and storage then fastboot flash userdata.IMG
http://forum.xda-developers.com/showthread.php?t=2938749
rootSU said:
Its not a recovery issue. Its an L issue.
Best thing to do would be to wipe data and storage then fastboot flash userdata.IMG
http://forum.xda-developers.com/showthread.php?t=2938749
Click to expand...
Click to collapse
Thanks a lot for your help.
How can I find the img. file to flash?
Would it be ok to just go ahead and start from 0 using this:
http://forum.xda-developers.com/google-nexus-5/general/tutorial-how-to-flash-factory-image-t2513701
How can fastboot flash an image file? I've never done that before! As I said, been doing this for a while, but never done this before...I think!
Luca
Alas, after reading your post on one-click toolkits, I'm afraid I'm one of those who thinks they can do things, but rely on simple tools to do them. However, I never (almost never) forgot to make a nandroid backup before flashing a new rom and, to be honest, I'm not a flashoolic. I never, ever bricked my phone (got a few bootloops). If I find a rom that suits my need, I stick with it for as long as I can.
The changes between KK and L are such that are beyond my comprehension, but I try hard to solve the problems I have without bugging everyone at the first obstacle. But now, after fidgeting with my phone for 2 days, I had to give up. With a few words, you singled out the reason why I couldn't come on top of this: things change and I was not informed of how much they did!
Luca
Problem partially solved..I think! Now I can see the folder and found my backup!!
I used the restorecon command you suggested. I couldn't make it work using terminal emulator (just did not accept the su command: why I don't really know). Then I thought about using adb shell via pc and, I really surprised myself; I was able to pull it through. I'm not totally brain damaged as I felt when I couldn't even reproduce the command you indicated. It is probably the application that doesn't work. It was my first time with adb shell, so a new thing learned.
However, now I would like to ask you: if I place in the proper folder the backup folder I saved on my pc, will I be able to restore the nandroid backup? I just need some data that I forgot (trivial things, such as text messages and a few app data, like passwords and stuff) but it would be useful.
Thanks once more for your help.
Luca

Categories

Resources