• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root Beginners Guide To ROMS

First off this is not really a guide, but more information and nomenclature to help beginners get orientated. There are plenty of guides out there already that tell you how to install ROMs. This is also not a guide to rooting, again, plenty of resources already exist that describe quite clearly the steps needed for that. This post is about basic concepts along with terminology to help beginners understand what a ROM, kernel, or theme really is.

Let's begin with ROMs. What is a ROM? Well, a ROM is a binary image which get's "flashed" to something. What does that mean? In the case of the android it amounts to installing an operating system. You can think of flashing a ROM the same as installing Unbuntu or Windows 7 for example. This is the core of the operating system of the phone. There are many custom ROMs out there. Too many to list here, again there are plenty of other posts out there with this information.

Now let's talk about kernels. What is a kernel you might ask? Well, that answer is a bit more complicated and you have to understand how most embedded systems are designed to fully appreciate what it means but I can try to illustrate it. Keep in mind this is an extreme oversimplification and in reality most embedded systems are very complex:
At the root of most systems lies a separation between hardware, low level drivers, and applications. This separation is where the kernel lives. The kernels job is to talk to hardware drivers, and even sometimes directly to hardware, as well as talk to applications. You can think of the kernel as the interpreter, if you will, between the hardware signals and applications. When an application want's to draw something to the screen it doesn't want to have to worry about figuring out the proper timing to setup the data and push it to the screen driver. It just want's to say something like "draw this" while shoving it some high level pixel data. The kernel takes care of all the nasty details. So, it's important that your kernel is fast and optimized well. Otherwise you will have a lag filled, or worse, buggy experience.

Finally that brings us to themes. What are themes? Well, themes are simply a replacement of icons, colors, and other system level gui elements. They are usually very low impact and usually only change visual appearance. They can be used to make your phone really stand out. There are quite a few really cool ones out there - again, too many to list.

Let me talk about install order quickly before wrapping up. If you decide to install either separately through ROM manager or manually using recovery it's important to understand the dependencies between these elements. Since the ROM represents the OS, it makes sense that you would install that first. The next step would be to install the kernel of your choice. This step is optional as most ROMs come with a pre-installed optimized kernel. The final step is to install the theme. Most themes are based on a specific ROM so, again, it makes sense to install them after the ROM.

One last thing I want to talk about is tools. You might ask, what kind of tools can I use for this whole ROM thing? Well, it's a good think you ask. There are two really great tools out there to help you along your way. One of them gives the added benefit of providing you a chance to give back to the great community who sacrificed there time with family and friends to give us these cool things which we get to show off to our family and friends :). That tool is called ROM Manager. You can download it from the marketplace on your phone. Make sure to get the donate version. For a price of a Starbucks coffee you can give back and feel good about using all these cool things. Plus it gives you access to premium content - all good stuff.

The second tool, which you get as a bonus if you get ROM Manager is ClockworkMod Recovery. That is a MUST HAVE for installing your ROMs. You can use SPRecovery but the steps are more complex. Do yourself a favor and get ClockworkMod.

A third, optional, tool, is SetCPU. Again, this app is very reasonable priced and gives you lots of power and control over your system. Not to mention some valuable information about system health.

Some more tools that are great to have for your ROM experience*:
Titanium Backup aka TiBU (credit to UBRocked / johngalt for the idea)
Quadrant Standard
Terminal Emulator

* You may find yourself actually "needing" one or more of these tools in your ROM adventures. They become a "must have" at that point :)

Always remember to backup before playing around - nandroid is your best friend. Also, if you have any questions or are unsure of any steps don't hesitate to come to these boards and ask your questions. There are many people who are willing, and glad, to help you with your problems.

Happy ROMing!.
 
This is my first post and i got my first android Friday(pretty excited:D). Managed to get it(mytouch 3g 1.2) rooted and loaded a custom rom(CyanogenMod-6.0.0-DS-RC3) in it. I tried to install a different custom rom(CM-6.0.0-DS), following the exact directions as the initial rom install, but when i go into about it says its still running the RC3. Is there a different procedure to installing a rom once your running a custom, or am i doing something wrong?
 
Upvote 0
This is my first post and i got my first android Friday(pretty excited:D). Managed to get it(mytouch 3g 1.2) rooted and loaded a custom rom(CyanogenMod-6.0.0-DS-RC3) in it. I tried to install a different custom rom(CM-6.0.0-DS), following the exact directions as the initial rom install, but when i go into about it says its still running the RC3. Is there a different procedure to installing a rom once your running a custom, or am i doing something wrong?

Something must have happened during the update process - either you have a bad ROM image or your recovery program couldn't flash it for whatever reason. I had that happened to me and I ended up finding the ROM from another source. A compare of sizes told me the first ROM was corrupt. You can also use md5sum if you know the md5 checksum of the image to verify you have the correct image.

What were those directions for the initial ROM by the way? Also, what recovery are you using?
 
Upvote 0
Scottmc...thank you! :D

Good information and put into easy to understand terms. Having said that, if you're a 'noob' and you aren't completely grasping commonly used terminology or something isn't clear to you....ASK THE QUESTION! We were all new to this at one time or another ;)

I'll add one additional tool that I did not see mentioned here and that is Titanium Backup (available in the market). This is a really great app that will backup your apps and settings. After all...when you are switching ROMs, you don't want to lose your scores and achievements in Homerun Battle 3D! :D The free version is nice...the donate version is better. Backup everything you can (batch backup and restore available in donate version)....Restore selectively (as some system settings should not be restored from ROM to ROM).

Again, thanks!...great write up :)
 
  • Like
Reactions: Scottmc
Upvote 0
THANK YOU!!
It's so frustrating when there's all of this information out there, but it's all written in some weird foreign language. Just a few more terms that I need help with if you don't mind:
launcher
Radio
Baseband

I'm sure there are more that I'm not thinking of right now...
What's a 5 slot/7 slot/10 slot kernel?

And is it really ok to be mixing and matching everything??
 
Upvote 0
THANK YOU!!
It's so frustrating when there's all of this information out there, but it's all written in some weird foreign language. Just a few more terms that I need help with if you don't mind:
launcher
Radio
Baseband

I'm sure there are more that I'm not thinking of right now...
What's a 5 slot/7 slot/10 slot kernel?

And is it really ok to be mixing and matching everything??


Baseband - low level drivers for cellular network connectivity. Basically allows your phone to communicate with the towers. Some are better than others, some will make your phone not work. Be careful.

Radio - low level drivers that control your radio - wifi, bluetooth, 2g/3g phone and gps. I think they also control power on/shut down.

Launcher - you can think of the launcher as your desktop. Just like in the windows and linux world, there are many launchers ("desktops") to choose from. It's really individual style, taste, and needs that drives which launcher to choose.

The different slots for kernels represent the different speed choices you have with that kernel. So a 5 slot kernel gives you 5 speed choices - up to 1.1Ghz I believe. A 7 slot kernel gives you 7 speed choices - up to 1.25Ghz I believe. A 10 slot kernel gives you 10 speeds. 10 slot kernels are not as common as 5 and 7 slot, though, as they have a tendency to cook processors. 5 is safest, 7 is okay but gives you more choices.

HTH :D
 
Upvote 0
question...

a "nandroid backup" consist of backing up data and what else?

what does "titanium backup" do that the "nandroid backup" doesnt?

Nandroid basically takes a snapshot of your current image. As long as you don't bork your recovery you can always go back to your nandroid backup as if nothing ever happened. It's a low level system backup and can only be performed from recovery. ROM manager gives you the option to backup but it immediately boots you into recovery and auto runs a script which does the backup for you.

Titanium backup is only for applications installed on your phone. Even though your phone will eventually synch (or not) your applications, it can sometimes take hours before they all come back. If you are like me and can't wait then Titanium backup is a great tool. It also allows you to remove certain bloatware. My usual process after flashing a new ROM is to disable sync (it's slow as a dog) and grab Titanium from the marketplace. I then use Titanium to pull down all my apps and I'm good to go. Sometimes I might just pull down Quadrant though because I want to benchmark a new kernel I'm trying. Either way, Titanium is your friend :).
 
Upvote 0
In addition to what Scott wrote, TiBu has the additional ability to back up system settings as well as Application settings.

With Nandroid it is an All or nothing deal - you back up all of System and restore all of system, etc.

With TiBu, though, you can pick and choose what to back up and what to restore <-- major point here

The reason this is crucial is that you can restore things like SMS, call log, etc. without restoring everything, making it much more convenient when swapping ROMs - certainly you don't want to try to restore all of your apps from one ROM to the next using a Nandroid b/c of unforeseeable incompatibilities, but with TiBu you can restore your apps (all or some) and then restore the settings (all or some, with all for system settings never being recommended b/c of the same unforeseeable instability / issues thing).
 
Upvote 0
In addition to what Scott wrote, TiBu has the additional ability to back up system settings as well as Application settings.

With Nandroid it is an All or nothing deal - you back up all of System and restore all of system, etc.

With TiBu, though, you can pick and choose what to back up and what to restore <-- major point here

The reason this is crucial is that you can restore things like SMS, call log, etc. without restoring everything, making it much more convenient when swapping ROMs - certainly you don't want to try to restore all of your apps from one ROM to the next using a Nandroid b/c of unforeseeable incompatibilities, but with TiBu you can restore your apps (all or some) and then restore the settings (all or some, with all for system settings never being recommended b/c of the same unforeseeable instability / issues thing).

Good call on TiBu John. I personally haven't used that tool yet but after your description I'm very much interested. I think I'll be playing with that tonight. Good suggestion :cool:
 
Upvote 0
If there was a "Thank You 1000 Times" button I would push it a thousand times. I have been so confused between ROM/Kernel/Theme/Launcher, etc. and I was about to ask for an explanation from the forum members.

And then I found your post. Manna from heaven!

I've rooted my Droid and I'm running FRG22D at the moment. LFY has intrigued me so I'm going to try that ROM first.

I rooted using SPRecovery with a Nandroid backup. I currently have SetCPU, TiBU, Root Explorer, and ROM Manager Premium installed.

The backup thing confuses me. I have no data that I need to back up at this point. So if I've done the Nandroid backup through SPRecovery, do I need Flash ClockworkMod Recovery or Backup the Current ROM or Flash an Alternate Recovery in ROM Manager? A TiBU backup?

Right now, I want to try a ROM and Theme (the ROM has a selection of kernels) and remove bloatware. Beyond that, I like Launcher Pro quite a bit, but with the ROM and theme, Launcher Pro may not be necessary.

Lord I have a lot of questions. Thank you again and I appreciate your help.

-robYn
 
Upvote 0
If there was a "Thank You 1000 Times" button I would push it a thousand times. I have been so confused between ROM/Kernel/Theme/Launcher, etc. and I was about to ask for an explanation from the forum members.

And then I found your post. Manna from heaven!

I've rooted my Droid and I'm running FRG22D at the moment. LFY has intrigued me so I'm going to try that ROM first.

I rooted using SPRecovery with a Nandroid backup. I currently have SetCPU, TiBU, Root Explorer, and ROM Manager Premium installed.

The backup thing confuses me. I have no data that I need to back up at this point. So if I've done the Nandroid backup through SPRecovery, do I need Flash ClockworkMod Recovery or Backup the Current ROM or Flash an Alternate Recovery in ROM Manager? A TiBU backup?

Right now, I want to try a ROM and Theme (the ROM has a selection of kernels) and remove bloatware. Beyond that, I like Launcher Pro quite a bit, but with the ROM and theme, Launcher Pro may not be necessary.

Lord I have a lot of questions. Thank you again and I appreciate your help.

-robYn

Glad I helped :D

Flashing ClockworkMod is really a matter of choice. Plus ClockworkMod seems to have a few more options and is easier (at least for me) to use. Keep in mind that ClockworkMod stores it's backup images in a different place than SPRecovery so if you do switch you might have to do some manual file manipulation to get ClockworkMod to see your backups from SPRecovery. A nandroid backup is a nandroid backup though so both recoveries should be able to read each others backups.

I have a theme and a launcher both. I'm actually crazy and have a ROM theme - Watermark'd for BB 0.4v - and a launcher theme. I'm using ADW.Launcher because it gives me 5 home screens - launcher pro gives me only 3 for some reason. Plus I like how I can hide both the bottom launch bar and the status bar on the top with a swipe gesture - and bring them back similarly. I'm bought a theme that I really like but I decided I don't like the icons - just the changes to the bottom bar - so I fell back to the free version. I'm glad I paid the artist though :).

As for backing up the current ROM - always do a backup before playing around. That's a cardinal rule. Things can and do go wrong and they happen when you least expect them. As long as you have a backup you can always revert back as though nothing ever happened.

The alternate recovery option in ROM Manager is to install SPRecovery. You probably want to stay with ClockworkMod (and, in fact, is required for ROM Manager to function properly I believe - someone correct me if I'm wrong).

A Titanium Backup is good if you know you are going to be switching ROMs. It's usually used after initial setup and periodically as you install new apps (to make new updates).

HTH
 
Upvote 0
thanks for the clarification scott, makes things easier to understand.

although im stuck trying to install the LFY1.5 I followed OMJ's directions with clockworkmod method but when i boot back up only the Motorola logo pops up and then goes blank, reboots, Motorola logo pops up again, it repeats this sequence over and over. did i miss a step?
 
Upvote 0
Nandroid basically takes a snapshot of your current image. As long as you don't bork your recovery you can always go back to your nandroid backup as if nothing ever happened. It's a low level system backup and can only be performed from recovery. ROM manager gives you the option to backup but it immediately boots you into recovery and auto runs a script which does the backup for you.

Titanium backup is only for applications installed on your phone. Even though your phone will eventually synch (or not) your applications, it can sometimes take hours before they all come back. If you are like me and can't wait then Titanium backup is a great tool. It also allows you to remove certain bloatware. My usual process after flashing a new ROM is to disable sync (it's slow as a dog) and grab Titanium from the marketplace. I then use Titanium to pull down all my apps and I'm good to go. Sometimes I might just pull down Quadrant though because I want to benchmark a new kernel I'm trying. Either way, Titanium is your friend :).


I am getting a bit confused here...

(1) Is "Nandroid" backup software a downloadable app or part of the Android OS?

(2) Being an image backup/snapshot, a Nandroid contains the OS ("ROM" misnomer), all apps/data (excluding external SD cards), all app settings, all systems settings, rooted state, etc., right?

(3) In the first quoted paragraph above, are you saying that ROM Manager creates a Nandroid via a script, or that ROM Manager creates some non-Nandroid type of image, or creates a Nandroid image through some other means?

(4) Given that a Nandroid image can be used to restore an entire system to a previous (customized) state (if I am understanding this correctly), why would one need RSD Lite? RSD Lite also restores the entire system, but to a stock state equivalent to the state when the phone was purchased, right?

(5) If I am understanding all of this, John Galt's comment "certainly you don't want to try to restore all of your apps from one ROM to the next using a Nandroid b/c of unforeseeable incompatibilities..." would not appear to make sense; because restoring from a Nandroid would overwrite the prior ROM, right? (No offense, John. It is not my intention to be critical here; I very much appreciate the education from these posts. Just trying to understand the structure as precisely as possible.)

(6) A question related to smartphone memory structure: My understanding is that my Samsung Vibrant's (Android 2.1-update 1) memory is organized as follows:

(a) 16 GB (unformatted size) internal flash ("internal SD card" according to Samsung terminology), of which 2 GB is partitioned to contain the OS ("ROM") and, I assume, OS configuration parameters. Downloaded apps are stored on this internal flash memory, and free space is available to/accessible by the user to store data (music, photos, etc.).

(b) An external SD card slot to accommodate up to 32 GB additional flash memory for user data. Apps storable here after update to Froyo?

(c) 512 MB DRAM to which OS and apps are loaded for execution.

(d) Is there a separate ROM or flash space from which a bootstrap loader executes at power-on? (Where is the recovery environment code stored?) I ask this because, assuming a separate flash device for the boot/recovery function, how could flashing new images and general messing around with the device possibly "brick" the device? On the other hand, it is easy to imagine corrupting the recovery environment if it shares space with the OS image on the same flash device. I cannot imagine that it would, though. The special keypress sequence to boot into recovery must be read by a low-level monitor that runs constantly as long as battery charge exists and resets when the battery is inserted?

(7) Can someone point me to the latest and greatest one-click rooting and de-rooting scripts for the Vibrant?

(8) Rooting/ROMing tutorials often include the caveat that such operations void warranties. Is this of practical importance, given the ability to re-image the device? Is there some separate "imaging count" or "last imaging" date hardware register somewhere to keep track of post-production imaging operations?

I would very much appreciate any corrections to my understanding of these issues.

Thanks,
Bruce
 
Upvote 0
thanks for the clarification scott, makes things easier to understand.

although im stuck trying to install the LFY1.5 I followed OMJ's directions with clockworkmod method but when i boot back up only the Motorola logo pops up and then goes blank, reboots, Motorola logo pops up again, it repeats this sequence over and over. did i miss a step?

If you installed a kernel you might have the frequency too high or the voltage too low. You can try another wipe just to be paranoid. Usually when that happens to me I just start all over (especially since you just flashed the ROM - nothing to lose). I first wipe (some say it's not necessary but in my experience I've had better luck to ALWAYS wipe once) then I flash a new ROM. Now here is where I get real paranoid, but this technique seems to work well for me. I then reboot. As soon as I get to the provision screen (the one that tells you to touch the droid) I then reboot back into recovery and install the kernel I want. Rince and repeat for the theme. Yes it's paranoid but it works for me :D.
 
Upvote 0
I am getting a bit confused here...

(1) Is "Nandroid" backup software a downloadable app or part of the Android OS?
Nandroid is a NAND flash/read utility. It allows you to read your NV and NAND data and save it. It can also be used to restore said data. This is a low level NAND backup - similar to a low level binary backup of hard disk files. I'm not sure if it's a utility or part of the OS. I don't have a copy of the source on my work machine and I don't feel like installing GIT just to find out :p

(2) Being an image backup/snapshot, a Nandroid contains the OS ("ROM" misnomer), all apps/data (excluding external SD cards), all app settings, all systems settings, rooted state, etc., right?
Correct. It's like taking a snapshot of your entire state. If you use VMs it's similar to the concept of a snapshot in fact.

(3) In the first quoted paragraph above, are you saying that ROM Manager creates a Nandroid via a script, or that ROM Manager creates some non-Nandroid type of image, or creates a Nandroid image through some other means?
ROM manager provides the convenience of auto start scripts. Everything you can do in ROM Manager can be done manually. ROM Manager just automates those processes. In the Linux world you automate things with scripts. Thats what I was referring too. It's still a nandroid backup though.

(4) Given that a Nandroid image can be used to restore an entire system to a previous (customized) state (if I am understanding this correctly), why would one need RSD Lite? RSD Lite also restores the entire system, but to a stock state equivalent to the state when the phone was purchased, right?
When you install a ROM/Kernel/Theme what you are really doing is installing an update package. Think patch in the Linux world. This "patch" just replaces certain functionality, albeit on a very low level. If you ever want to go back to unrooted stock you have to use RSDLite or sbf_flash (if on Linux).

(5) If I am understanding all of this, John Galt's comment "certainly you don't want to try to restore all of your apps from one ROM to the next using a Nandroid b/c of unforeseeable incompatibilities..." would not appear to make sense; because restoring from a Nandroid would overwrite the prior ROM, right? (No offense, John. It is not my intention to be critical here; I very much appreciate the education from these posts. Just trying to understand the structure as precisely as possible.)
Nandroid has an advanced option that lets you pick and choose what you want to restore. I think this "power user" option is what he was referring too - at least that's how I understood it.

(6) A question related to smartphone memory structure: My understanding is that my Samsung Vibrant's (Android 2.1-update 1) memory is organized as follows:

(a) 16 GB (unformatted size) internal flash ("internal SD card" according to Samsung terminology), of which 2 GB is partitioned to contain the OS ("ROM") and, I assume, OS configuration parameters. Downloaded apps are stored on this internal flash memory, and free space is available to/accessible by the user to store data (music, photos, etc.).

(b) An external SD card slot to accommodate up to 32 GB additional flash memory for user data. Apps storable here after update to Froyo?

(c) 512 MB DRAM to which OS and apps are loaded for execution.

(d) Is there a separate ROM or flash space from which a bootstrap loader executes at power-on? (Where is the recovery environment code stored?) I ask this because, assuming a separate flash device for the boot/recovery function, how could flashing new images and general messing around with the device possibly "brick" the device? On the other hand, it is easy to imagine corrupting the recovery environment if it shares space with the OS image on the same flash device. I cannot imagine that it would, though. The special keypress sequence to boot into recovery must be read by a low-level monitor that runs constantly as long as battery charge exists and resets when the battery is inserted?
You are correct about the low level monitor. This is very similar to old school debugging monitors on JTAG interfaces. Much more advanced, however, from the phones I worked on a few years ago. If that interface ever goes you have a bricked phone. That interface usually only goes if you have a hardware issue. You can even have a wild process go through and overwrite every piece of NVRAM and the debug monitor will still work. I assume the bootloader is something very similar.

(7) Can someone point me to the latest and greatest one-click rooting and de-rooting scripts for the Vibrant?
I don't use one-click stuff. I like the control.

(8) Rooting/ROMing tutorials often include the caveat that such operations void warranties. Is this of practical importance, given the ability to re-image the device? Is there some separate "imaging count" or "last imaging" date hardware register somewhere to keep track of post-production imaging operations?
I'm not sure about the warranty stuff. I've heard it does void it and I've heard as long as you don't OC you are okay (most custom ROMs OC to 800 out of the box anyway so not sure how viable that is). I've heard stories of people returning rooted "bricked" phones and gotten replacements.

I would very much appreciate any corrections to my understanding of these issues.

Thanks,
Bruce

See my answers in red.

HTH
 
Upvote 0
Originally Posted by BruceH
I am getting a bit confused here...

(1) Is "Nandroid" backup software a downloadable app or part of the Android OS?
Nandroid is a NAND flash/read utility. It allows you to read your NV and NAND data and save it. It can also be used to restore said data. This is a low level NAND backup - similar to a low level binary backup of hard disk files. I'm not sure if it's a utility or part of the OS. I don't have a copy of the source on my work machine and I don't feel like installing GIT just to find out :p

(2) Being an image backup/snapshot, a Nandroid contains the OS ("ROM" misnomer), all apps/data (excluding external SD cards), all app settings, all systems settings, rooted state, etc., right?
Correct. It's like taking a snapshot of your entire state. If you use VMs it's similar to the concept of a snapshot in fact.

(3) In the first quoted paragraph above, are you saying that ROM Manager creates a Nandroid via a script, or that ROM Manager creates some non-Nandroid type of image, or creates a Nandroid image through some other means?
ROM manager provides the convenience of auto start scripts. Everything you can do in ROM Manager can be done manually. ROM Manager just automates those processes. In the Linux world you automate things with scripts. Thats what I was referring too. It's still a nandroid backup though.

Ok, so all that I need to create a Nandroid image is ROM Manager, right?

(4) Given that a Nandroid image can be used to restore an entire system to a previous (customized) state (if I am understanding this correctly), why would one need RSD Lite? RSD Lite also restores the entire system, but to a stock state equivalent to the state when the phone was purchased, right?
When you install a ROM/Kernel/Theme what you are really doing is installing an update package. Think patch in the Linux world. This "patch" just replaces certain functionality, albeit on a very low level. If you ever want to go back to unrooted stock you have to use RSDLite or sbf_flash (if on Linux).

So, I suppose that my question is why would one wish to go back to unrooted stock? That would wipe out all of the customization of the phone that takes so long to accomplish, right? Wouldn't it be more advantageous to restore the Nandroid image and then perform some "un-root" operation?

(5) If I am understanding all of this, John Galt's comment "certainly you don't want to try to restore all of your apps from one ROM to the next using a Nandroid b/c of unforeseeable incompatibilities..." would not appear to make sense; because restoring from a Nandroid would overwrite the prior ROM, right? (No offense, John. It is not my intention to be critical here; I very much appreciate the education from these posts. Just trying to understand the structure as precisely as possible.)
Nandroid has an advanced option that lets you pick and choose what you want to restore. I think this "power user" option is what he was referring too - at least that's how I understood it. Ah, ok; understood. Sounds like this would be like using Acronis to create a system drive image from my PC. Acronis can look into the binary image to pull out individual directories and files.

(6) A question related to smartphone memory structure: My understanding is that my Samsung Vibrant's (Android 2.1-update 1) memory is organized as follows:

(a) 16 GB (unformatted size) internal flash ("internal SD card" according to Samsung terminology), of which 2 GB is partitioned to contain the OS ("ROM") and, I assume, OS configuration parameters. Downloaded apps are stored on this internal flash memory, and free space is available to/accessible by the user to store data (music, photos, etc.).

(b) An external SD card slot to accommodate up to 32 GB additional flash memory for user data. Apps storable here after update to Froyo?

(c) 512 MB DRAM to which OS and apps are loaded for execution.

(d) Is there a separate ROM or flash space from which a bootstrap loader executes at power-on? (Where is the recovery environment code stored?) I ask this because, assuming a separate flash device for the boot/recovery function, how could flashing new images and general messing around with the device possibly "brick" the device? On the other hand, it is easy to imagine corrupting the recovery environment if it shares space with the OS image on the same flash device. I cannot imagine that it would, though. The special keypress sequence to boot into recovery must be read by a low-level monitor that runs constantly as long as battery charge exists and resets when the battery is inserted?
You are correct about the low level monitor. This is very similar to old school debugging monitors on JTAG interfaces. Much more advanced, however, from the phones I worked on a few years ago. If that interface ever goes you have a bricked phone. That interface usually only goes if you have a hardware issue. You can even have a wild process go through and overwrite every piece of NVRAM and the debug monitor will still work. I assume the bootloader is something very similar. Agreed. So, the implication is that all of the "rooting," and "re-ROMing" described in these and other forums cannot "brick" a phone, right? (Because none of those operations, including wiping, formatting, etc. touch the recovery environment, which is hard-coded in an actual ROM or small, separate onboard flash memory.) I can imagine a scenario whereby it could appear that a bricked phone was caused by a user mucking with the system files. Let's say that the recovery environment is defective, due to either defective hardware used to store the recovery environment or defective recovery environment code (scrambled, etc.). A non-experimenting user might use the phone for its entire life without knowing about this problem. However, an experimenting user blows away his system and then attempts to boot into recovery, thereby bricking his phone. Ironically, nothing he did during rooting/ROMing bricked his phone. The phone was already "potentially bricked," just waiting for a boot into recovery to rear its ugly head. Does anyone disagree with this analysis and believe that rooting/ROMing operations can brick a smartphone?


(7) Can someone point me to the latest and greatest one-click rooting and de-rooting scripts for the Vibrant?
I don't use one-click stuff. I like the control.

(8) Rooting/ROMing tutorials often include the caveat that such operations void warranties. Is this of practical importance, given the ability to re-image the device? Is there some separate "imaging count" or "last imaging" date hardware register somewhere to keep track of post-production imaging operations?
I'm not sure about the warranty stuff. I've heard it does void it and I've heard as long as you don't OC you are okay (most stock ROMs OC to 800 anyway so not sure how viable that is). I've heard stories of people returning rooted "bricked" phones and gotten replacements. Not sure that I was very clear with this question. Given the extreme unlikelihood of bricking one's phone, let us assume that we have some other problem with the phone and need a warranty exchange. So, prior to visiting the carrier, we restore a Nandroid which includes the stock ROM and then un-root. Can either the carrier or the factory determine that the phone was rooted, nandroided, restored, and un-rooted? (E.g., are flags of these events stored away in some secret hardware register somewhere, just waiting for the technician to read out the codes and say "gotcha; no warranty"? Otherwise, I do not understand all the fuss about the warranty. Can someone please enlighten me?

I would very much appreciate any corrections to my understanding of these issues.

Thanks,
Bruce

See my answers in red.

HTH

Thanks again for your kind and patient responses to my lengthy questions.

Best,
Bruce




user_offline.gif



ScottmcView Public ProfileSend a private message to ScottmcFind More Posts by ScottmcAdd Scottmc to Your Contacts

 
Upvote 0
To Bruce H:

I didn't quote because it was getting a little long. I'll try to address your questions though.

Ok, so all that I need to create a Nandroid image is ROM Manager, right?
Actually you just need recovery for that (technically) but ROM Manager makes life easier for you. In essence you can say "all I need to make a nandroid backup is ROM Manager". That is a true statement.

So, I suppose that my question is why would one wish to go back to unrooted stock? That would wipe out all of the customization of the phone that takes so long to accomplish, right? Wouldn't it be more advantageous to restore the Nandroid image and then perform some "un-root" operation?
I don't think there is a way to "unroot". The only way I've read is to reflash a stock ROM and take the OTA to bring you up to 2.2 Froyo. Unless you can "unpatch" - but that would most likely be a very complex and error prone process. Better to just reflash a ROM. Remember, it's like installing a new OS so, just like when you install a new OS, you are presented with a clean desktop.

Does anyone disagree with this analysis and believe that rooting/ROMing operations can brick a smartphone?
I think anyone who understands what is going on, even at a high level (not a button click high level mind you) will realize that bricking your phone by flashing a ROM is neigh impossible. It takes much more to brick your phone than that.

Can either the carrier or the factory determine that the phone was rooted, nandroided, restored, and un-rooted?
I don't believe they can tell if you have been rooted. Even if they could, your average sales person/clerk wouldn't have the knowledge or skills to get that information reliably. This is all conjecture based on some internal knowledge of how carriers work.
 
Upvote 0
More questions below in orange.

Glad I helped :D

Flashing ClockworkMod is really a matter of choice. Plus ClockworkMod seems to have a few more options and is easier (at least for me) to use. Keep in mind that ClockworkMod stores it's backup images in a different place than SPRecovery so if you do switch you might have to do some manual file manipulation to get ClockworkMod to see your backups from SPRecovery. A nandroid backup is a nandroid backup though so both recoveries should be able to read each others backups. So is it okay to have both SPRecovery AND Rom Manager on my phone? I see that ROM Manager is easier, but I started in the old DOS days so SPRecovery doesn't bother me. In addition, would you explain the relationship between ROM Manager, ClockworkMod, CyanogenMod? The terms seem to be used interchangeably almost and I'm missing something here.

I have a theme and a launcher both. I'm actually crazy and have a ROM theme - Watermark'd for BB 0.4v - and a launcher theme. I'm using ADW.Launcher because it gives me 5 home screens - launcher pro gives me only 3 for some reason. Plus I like how I can hide both the bottom launch bar and the status bar on the top with a swipe gesture - and bring them back similarly. I'm bought a theme that I really like but I decided I don't like the icons - just the changes to the bottom bar - so I fell back to the free version. I'm glad I paid the artist though :).

As for backing up the current ROM - always do a backup before playing around. That's a cardinal rule. Things can and do go wrong and they happen when you least expect them. As long as you have a backup you can always revert back as though nothing ever happened.

The alternate recovery option in ROM Manager is to install SPRecovery. You probably want to stay with ClockworkMod (and, in fact, is required for ROM Manager to function properly I believe - someone correct me if I'm wrong).

A Titanium Backup is good if you know you are going to be switching ROMs. It's usually used after initial setup and periodically as you install new apps (to make new updates). So to use ROM Manager (which is easier), I need to stick with ClockworkMod. Its a ROM Manager with built in recovery and backup so what would be the difference with TiBU? I don't want to have more on my phone than I need.

In your reply I didn't see the issue of bloatware. Is that what I need TiBU for? I've seen that mentioned, but I also have root explorer so again, I don't want to have extra applications that just duplicate functions.

HTH
 
Upvote 0
@ oppendroid
Yes, it's perfectly fine to have both SPRecovery and ROM Manager on your phone. I'm not sure how ROM Manager works with SPRecovery but I'll do some research tonight and get back to you. It is possible to have them an alternate recovery with ROM manager though.

Technically the ROM Manager doesn't have anything "built in". It's basically a portal for utilities that currently exist on your phone such as nandroid and recovery. The difference between nandroid and TiBU is the ability to selectively decide what you want to backup. Nandroid is an all or nothing deal (per volume) and doesn't allow you to pick and choose what you want to backup and what you want to preserve. TiBU gives you that power.

Yes, I believe you can use TiBU to remove bloatware. I'm just now playing with it so I'll know more tomorrow but from what I can tell (and read) it allows you to selectively remove applications. You just have to be careful what you remove.
 
Upvote 0
@ oppendroid
Yes, it's perfectly fine to have both SPRecovery and ROM Manager on your phone. I'm not sure how ROM Manager works with SPRecovery but I'll do some research tonight and get back to you. It is possible to have them an alternate recovery with ROM manager though.

Technically the ROM Manager doesn't have anything "built in". It's basically a portal for utilities that currently exist on your phone such as nandroid and recovery. The difference between nandroid and TiBU is the ability to selectively decide what you want to backup. Nandroid is an all or nothing deal (per volume) and doesn't allow you to pick and choose what you want to backup and what you want to preserve. TiBU gives you that power.

Yes, I believe you can use TiBU to remove bloatware. I'm just now playing with it so I'll know more tomorrow but from what I can tell (and read) it allows you to selectively remove applications. You just have to be careful what you remove.

ROM Manager provides you an easy way to switch to SPRecovery...but you need Clockwork to download ROMs and other advanced functions.
 
  • Like
Reactions: Scottmc
Upvote 0
thanks for the clarification scott, makes things easier to understand.

although im stuck trying to install the LFY1.5 I followed OMJ's directions with clockworkmod method but when i boot back up only the Motorola logo pops up and then goes blank, reboots, Motorola logo pops up again, it repeats this sequence over and over. did i miss a step?

Did you download the LFY1.5 stock ROM or one of the themes? Often times people assume that the themes listed are "Themed ROMs"...they are not...they are just themes you flash over the stock ROM.

If that's not your problem. Follow the instructions in the OP of LFY1.5...I wrote them and have been installing ROMs like that forever. Formatting the system and boot partitions has always been the best way I have found to prepare for a new ROM.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones