does a TWRP backup of stock ROM restore everything including low-level drivers? - AT&T, Rogers HTC One X, Telstra One XL

I suppose I'm thinking of radio, touchscreen drivers and other drivers/stuff that doesn't come with a custom ROM.
thanks!

Don't think so.
TWRP tells you what it is capable of backing up:
System
Data
Boot
Recovery (default unchecked)
cache
.android_secure (default unchecked)

If you're making that large of a jump, say CM10 etc back to sense, I've found it works best to flash the target rom, boot it, then go back and do a restore. That way you get the items that TWRP doesn't backup.

mrjayviper said:
I suppose I'm thinking of radio, touchscreen drivers and other drivers/stuff that doesn't come with a custom ROM.
thanks!
Click to expand...
Click to collapse
If you're on hboot 1.14 and S-ON then twrp doesn't backup or restore your boot

Pretty sure it does not do drivers

thanks everyone!

If you back up /boot you are backing up the drivers as that term refers to the pieces of the kernel itself that talk to specific hardware.
However many hardware parts also have their own code called "firmware" that handles the really complex low-level hardware control but doesn't run as part of the OS kernel. In this case the kernel driver talks to the firmware on a simpler level and firmware does the really dirty work. The radio and touch screen are examples of hardware that relies on extra firmware, and these particular files are not backed up by TWRP because they are stored in other partitions*
*note: CM stores it's own copy of the radio in /system which means the CM radio would get backed up. But changes to that won't affect the radio that Sense uses, and vice versa.

Related

[GUIDE] [INTRO] Getting started with Android and rooting

Introduction to Rooting:
This is meant as a very basic discussion for people relatively new to rooting and Android or people that go through the steps but don't have a good idea of WHY. As a result, it will omit many details and simplify others. Also, it's not meant to be a rooting guide (as there are excellent ones out there already) so much as an explanation of concepts most of us take for granted, but noobies don't. All of this info is out there, but when you're new you may not know how to find it or even that you should be looking for it.
DISCLAIMER: I, nor anyone else, am not responsible for what you do with your phone. Rooting and otherwise altering your phone has the potential to brick your device, void your warranty, and many other bad things. Perform these actions at your own risk.
Post 1: before you root
What is rooting?
Phone Partitions
Intro to ROMS and kernels
Post 2: rooting and flashing
Steps of rooting
How to flash ROMs
What is root/rooting?
In Unix-style operating systems, "root" is the name of the user who has all permissions and is therefore able to run/modify/change/delete just about anything. If you're familiar with Windows, this account is called Administrator. The default account (that's you!) on an Android phone does NOT have these privileges. Rooting is the process of obtaining them (i.e. obtaining root access). Once you root, you can "flash" new software onto your phone without (much) restriction. This is great because you now have control over what programs are on your phone, how your phone handles resources, what kernels you run, and more!
Once your phone is rooted, you don't always wield all of that power. You control your access to all these new abilities with a program called SuperUser (available on the market and baked into ROMS). This program can grant these special rights to any other program that requests them. So let's say a program wants to write data to a place it's not normally allowed. It will ask SuperUser to up its privileges and then BAM! it can write where it wants to. You yourself can gain SuperUser privileges in a shell by typing su. Then YOU can read, write, and execute to your hearts desire.
Before you root:
Before rooting, there are some basic things you should know.
Phone partitions: Your phone has a number of partitions. The important ones to know at first are:
1. System - this partition is essentially what you think of when you think of the operating system, the Android UI, and preinstalled apps. When people talk about flashing ROMs (e.g. CyanogenMod, Synergy, etc), they are talking about flashing a new system partition...with some exceptions to be discusse later.
2. Boot - this is the kernel and ramdisk. The kernel is responsible for managing the interactions between the phones software (including the ROM) and the hardware. Altering the kernel can increase/decrease performance, battery life, and more because it manages applications and system resources. When you flash a new kernel, it flashes to the boot partition. You may not notice a big difference like you do when changing ROMS, but behind the scenes, your phone's performance can be drastically altered. A *LOOSE* analogy is that the ROM is like the body and interior of your car (including color, AC, stereo, heated seats, TV in headrests, etc.) and the kernel is like the engine. You may not see it, but you'll know it's there if it's awesome or it sucks.
3. Aboot - this was largely unimportant for newbies until the bootloader lock/unlock situation. The short story is that aboot contains functions which authenticate the boot partition (that's the kernel, remember?). It checks to see if your boot partition is Verizon legal and if not, it aborts the boot process and politely tells you to contact Verizon. This authentication is what is referred to as a "locked" bootloader. It prevents you from completely booting the phone with a custom kernel. The bootloader is "unlocked" by replacing the stock aboot partition with one that does NOT check up on the boot partition. This is important because it allows us to run whatever kernel we want without bothering with kexec.
4. Data - this contains user installed apps, settings, contacts, bookmarks, etc, etc, etc. You can wipe this partition (as opposed to the above partitions) and still boot into the operating system. However, you will have lost all your setting and user installed apps. This is also called a factory/data reset.
5. Cache - this is stuff that you frequently use so it's kept available by Android. You can wipe it without much consequence and SHOULD wipe it when flashing new ROMs.
6. Recovery - this partition contains a separate operating system that allows you to recover from a corrupted/absent/otherwise jacked up Android operating system. It has a number of other functions as well. The big ones are to backup your device and restore said backups, to wipe certain partitions, and to flash things to your phone (i.e. install new ROMs, recoveries, or other programs). The stock recovery is limited so you will definitely want a custom recovery, created by the fine devs in the community, on your device.
What is a ROM and what is a kernel?
I touched on this above. A ROM is what goes on the system partition. It contains what you think of as the Android OS including the UI and preinstalled apps. It controls how programs interact with you, the user. A kernel controls how those programs interact with the phones hardware. You need both a ROM and a kernel to have a functional phone. Not only that, but not all ROMs and kernels are compatible. A ROM based on Touchwiz (TW) needs a TW kernel and an AOSP (Android Open Source Project) ROM needs an AOSP kernel.
Kernels come as standard kernels, as described above, and kexec kernels. As the bootloader is unlocked, there's really no need for kexec on OUR device. However, it does bear mentioning...sooooo, kexec is a method of getting a custom kernel running without having it reside on the boot partition. Once the kernel is loaded, the phone doesn't care where it came from. Your phone has already checked the boot partition, OK'ed it, and loaded the kernel. The custom kernel that you actually WANT running is waiting patiently on your SD Card. The phone boots into a kexec enabled recovery, which loads the custom kernel while the over the current one (the boring stock kernel) while it is still running. The old bait and switch.
What is a recovery and which one should I use?
A recovery, as mentioned above, is a separate operating system that loads from the recovery partition and allows you to make changes to your phone should it need to be "recovered". It goes beyond this though, allowing you to backup and restore your phone, flash ROMs, flash a different recovery, install programs, mods, etc. On the d2vzw, you can enter recovery by powering down your phone and holding down volume up, home, and power. There are also ways to reboot into recovery easily through programs and mods commonly found in custom ROMs.
Backups of your phone are called nandroids and they contain the contents of the system, data, cache, recovery, and boot partitions. This means when you create a nandroid, you are backing up all that stuff.
I'm not going to tell you which one to use because for the most part it's a matter of preference. There are anecdotal stories about one recovery or another causing issues, but I've personally never had those issues and each recovery has its die hard supporters. I WILL say that if you want to use a ROM with a kexec kernel, you need a kexec enabled recovery. Lastly, if you decide to use kexec, your phone will look like it's bootlooping. That's normal.
I'm ready to start rooting/flashing!
There is an excellent guide stickied in the development thread here http://forum.xda-developers.com/forumdisplay.php?f=1672 (big thanks to droidstyle). However, many of us forget what it's like to be a COMPLETE newbie and to someone who has no idea about anything, even that guide can be a little intimidating. You can follow the instructions, but may not understand what you're doing. The steps to take to start out with are:
1. Make sure you understand what I've written above. Make sure you are comfortable with the possibility of bricking your phone.
2. Root your device. As I said above, this is simply gaining root/Admin/whatever you want to call it access on your phone. In and of itself, it does NOT alter the ROM or kernel. However, there are many different ways to obtain root and some of them DO alter these things. The easiest and safest way to root (IMO) is to use Noxious Ninjas excellent tool. http://forum.xda-developers.com/showthread.php?t=1792342. If you like it, I encourage you to donate or at least "Thanks" him. It works by taking advantage of debugfs permissions to get the su binary (remember this from above??) onto your phone with permissions set so you can run it. It therefore doesn't change ROMs or anything else. You won't lose data, apps, or anything else. It just sneaks su right onto your current setup.
3. Install a custom recovery. This will allow you to do all the fun stuff I talked about above. I recommend installing EZ-recovery from the market and flashing CWM 6.0.1.0.
-- Install EZ-recovery
-- Under the "Recovery" heading, click the Recovery radio button and select CWM 6.0.1.0
-- Click flash
4. Backup everything as if your life depended on it. This means backing up your NV/IMEI as shown here http://rootzwiki.com/topic/32397-tutorial-imei-backup-nv-with-qpst-us-variants/ and making a nandroid (see above). You can restore a nandroid backup and you'll be right back where you were before flashing or changing things around. You should also back up texts, anything on your internal sd card, and programs SEPARATELY from a nandroid (see below) so that you can easily replace them after flashing a new ROM. The steps to making a nandroid are (similar steps to restore):
-- Turn off your phone.
-- Hold down volume up, home, and power until recovery appears.
-- Use the volume rocker to go to "backup and restore" and hit the power button
--- Select backup and then select the external or internal SD card
5. Unlock the bootloader. See the aboot partition discussion above for what this means. You must do this seperately from flashing ROMs and kernels. Refer to this thread http://forum.xda-developers.com/showthread.php?t=1839791 and give appropriate thanks! A warning...if you mess up your aboot partition, there's really nothing (that I know of) you can do to revive your phone besides sending it to someone with JTAG.
A quick note about backing up apps. Personally, I use Titanium backup because I've used it forever...and I think it's a great app. I'm not going to go into details, because it's not too tough to do a few basic things with it and because I want to stick to things that will help prevent bricks.
You're now ready to start flashing ROMs!
As a precursor, there are ROMS that are based on TouchWiz modified Android from Verizon/Samsung and there are ROMS based on AOSP (e.g. CyanogenMod). TW roms need a TW kernel and AOSP roms need an AOSP kernel. Until you get comfortable with everything, I would stick with TW, but that's just my opinion. Don't worry, you'll get comfortable pretty quickly.
Also, some roms come with kernels and will flash the kernel to your boot partition in addition to flashing the ROM to your system partition. Some ROMs don't come with kernels. If the ROM you choose comes with a kernel, that's great. If not, you'll still have the kernel you are currently running and you need to make sure there are no incompatibilities with your new ROM. ALWAYS ALWAYS ALWAYS read the OP of a rom you want to flash to find out kernel information as well as how to install the rom and anything else you may need to know. The general steps to flashing a ROM are (remember to read the OP for specifics):
1. Backup apps, data, call log, contacts, messages, etc. My program of choice for much of this is Titanium Backup available on the market. If you choose to use it, buy it as you'll use it a billion times.
2. Download the ROM you want and check the MD5
3. Place the ROM on the root of your SD card. Do NOT unzip it.
4. Reboot into recovery and make a nandroid backup
5. Wipe data/factory reset and wipe cache. Wipe it more than once if paranoid. People sometimes talk about wiping Dalvik cache. It's an option in your recovery, but it's not necessary IF you did a factory/data reset because the Dalvik cache is on the data partition which is wiped in the reset. You may want to wipe the Dalvik cache for some other purpose however.
6. Go to "install zip from sdcard" and select the ROM you want
7. If you want/need to flash a kernel, install that zip from the sdcard too.
8. Reboot and restore all that you backed up
If you want to flash a kernel without flashing a ROM, all you need to do is reboot into recovery, make a nandroid, wipe cache and Dalvik cache, and install the zip from your sd card.
Remember:
-- ALWAYS read the OP before installing anything
-- backup before making changes
-- verify MD5 checksums
-- wipe data and cache when flashing a new ROM (unless told not to by the ROM dev...sometimes referred to as a dirty flash)
-- NEVER accept an OTA (having a custom recovery should block OTAs anyway)
That's it for now. If people like this or have requests about other good noob topics, I'll consider adding to it. If not, then screw you!
Reserved
I didn't realize it was that easy to flash a custom kernel. Cool. The guide is very helpful.
Nice writeup, a lot if good information. I think I've successfully graduated from noob but still like to read more. One minor problem I noticed. All your rooting, and unlocking links are for ICS I don't think anyone is still on it. You may want to link to open your eyes guide for JB.... which will probably require a whole post to explain what is going on.
Sent from my VS920 4G using xda app-developers app
Great post OP.

[Q] Question about firmware

Hopefully this will clear this up for me and maybe educate some newer users.
For those that dont know the NAND disk on an android smartphone is split into these partitions:
/boot -- contains kernal bootloader and romdisk
/system -- contains android OS files
/recovery --- contains recovery program
/data -- contains apk files and resources
/cache -- ...
/misc -- not sure whats in here
/sdcard -- all media goes here
Okay so we install a new rom we wipe boot, system, data, cache and misc. and completely replace them with whatever our rom has.
If thats the case why do roms require a certain firmware version. The 'firmware' HAS to go somewhere but it must be lost when we wipe during the install. In that case what am i missing. What is firmware, what does it do? what does it contain??
Thanks
The firmware is mainly two things, the radio, and the Hboot or bootloader but there is other things too like RIL files to go with the radio. The radio has it's own partiton and the Hboot is stored in a totally different location than the NAND flash memory. I am not sure if the RIL file is stored in the radio partition or if it is stored where the Hboot is. But I hope that answers your question some.
Edit: You asked why ROMs need certain firmware versions. The firmware also has for lack of knowledge of what they are really called i will call drivers in them that is needed by Android and if these drivers are not present certain versions of Android will not boot on the device or function properly.
Also Cache files are files made by a app or the OS whenever it does certain task. These files are saved so they can be accessed again later and do not have to be generated again. This is done in a effort try and help speed up the performance of the device.

[INFO] ROM 101 + CWM Errors Solutions

Hi guys .You all know me.
I have created this thread for the sole purpose educating every newbie and noob about ROM and it's components...
Here goes
Parts of a ROM
i. The kernel.
Android (like many other Smartphone operating systems) runs on the Linux kernel. The Linux kernel was created in the early 1990’s by a gentleman named Linus Torvalds in Helsinki, Finland. It’s incredibly stable, incredibly friendly, and incredibly difficult for the layman to understand and modify. Thankfully it’s also very popular so it has been ported on to a multitude of hardware, including our Android devices.
Think of the kernel as an interface layer between the hardware and software on your device. The kernel decides when things happen, such as the LED indicator gets lit or when the soft button's LED gets lit. An application sends a request to the operating system to blink the LED. The operating system then sends the request to the kernel, which makes the light flash for the amount of time requested by the OS.
What sounds like a round-about way to get things done is also what makes the system so scalable and robust. Application developers only have to code in a way the operating system understands and the kernel makes it work on the hardware. This also keeps the application running in it’s own user-space and separate from the kernel. That means when you run the latest uber-cool app that wasn’t designed for your particular OS version, or is still very beta and it crashes, the kernel gives you the option to Force Close the application and the kernel can run untouched.
In a standard Android ROM (we will leave developer images and the like for another discussion) the kernel is bundled along with a set of instructions that tell the device how to load the kernel and the OS during boot. This is the boot.img that you see inside a zipped ROM that your not able to easily open. The device knows to extract this image to internal memory (the ramdisk) and follow a series of scripts (init scripts) to load the kernel and then the other portions of the OS. That’s what’s happening while you’re watching the boot animation. Interestingly enough this is done the same way for a PC, your smartphone, an Android tablet, or even a smart Linux powered toaster. If you’re feeling exceptionally geeky, plug your Android phone into the USB port on your PC and let the PC boot from the USB device. No, it doesn’t actually load, but you can watch the animation while it tries to match up the hardware support with what’s inside your PC. As I said, Linux is amazingly scalable and as a result so is Android.
What is a kernel? If you spend any time reading Android forums, blogs, how-to posts or online discussion you'll soon hear people talking about the kernel. A kernel isn't something unique to Android -- iOS and MacOS have one, Windows has one, BlackBerry's QNX has one, in fact all high level operating systems have one. The one we're interested in is Linux, as it's the one Android uses. Let's try to break down what it is and what it does.
Android devices use the Linux kernel, but it's not the exact same kernel other Linux-based operating systems use. There's a lot of Android specific code built in, and Google's Android kernel maintainers have their work cut out for them. OEMs have to contribute as well, because they need to develop hardware drivers for the parts they're using for the kernel version they're using. This is why it takes a while for independent Android developers and hackers to port new versions to older devices and get everything working. Drivers written to work with the Gingerbread kernel on a phone won't necessarily work with the Ice Cream Sandwich kernel. And that's important, because one of the kernel's main functions is to control the hardware. It's a whole lot of source code, with more options while building it than you can imagine, but in the end it's just the intermediary between the hardware and the software.
When software needs the hardware to do anything, it sends a request to the kernel. And when we say anything, we mean anything. From the brightness of the screen, to the volume level, to initiating a call through the radio, even what's drawn on the display is ultimately controlled by the kernel. For example -- when you tap the search button on your phone, you tell the software to open the search application. What happens is that you touched a certain point on the digitizer, which tells the software that you've touched the screen at those coordinates. The software knows that when that particular spot is touched, the search dialog is supposed to open. The kernel is what tells the digitizer to look (or listen, events are "listened" for) for touches, helps figure out where you touched, and tells the system you touched it. In turn, when the system receives a touch event at a specific point from the kernel (through the driver) it knows what to draw on your screen. Both the hardware and the software communicate both ways with the kernel, and that's how your phone knows when to do something. Input from one side is sent as output to the other, whether it's you playing Angry Birds, or connecting to your car's Bluetooth.
It sounds complicated, and it is. But it's also pretty standard computer logic -- there's an action of some sort generated for every event. Without the kernel to accept and send information, developers would have to write code for every single event for every single piece of hardware in your device. With the kernel, all they have to do is communicate with it through the Android system API's, and hardware developers only have to make the device hardware communicate with the kernel. The good thing is that you don't need to know exactly how or why the kernel does what it does, just understanding that it's the go-between from software to hardware gives you a pretty good grasp of what's happening under the glass. Sort of gives a whole new outlook towards those fellows who stay up all night to work on kernels for your phone, doesn't it?
Click to expand...
Click to collapse
ii. The operating system.
Once the kernel is loaded, the init scripts tell the Operating System to load. Android is the user interface for a custom built Java virtual machine called Dalvik. Dalvik was written by Dan Bornstein, who named it after the fishing village of Dalvik in Iceland, where his family originated from. The debate of which Java VM is superior is best left for another discussion, so I’ll simply say that DalvikVM is a register-based machine versus true JavaVMs which are stack based.
The Dalvik machine creates executable files (.dex files) which can be interpreted by the OS and run by the end user. These .dex files are OS version dependant. That simply means that applications and core functions built to work with one version of Android may or may not work well with other versions. Google provides the tools through it’s Software Development Kit (SDK) for applications to communicate with the OS.
Click to expand...
Click to collapse
iii. Core functions.
No smartphone would be complete without a set of functions that allow the device to be used as intended. Things like the phone and dialer interface, the calendar, the messaging system are core functions of the Operating System. In Android, these are run on top of the kernel as separate applications. The merits (or lack of) of providing these needed functions as separate applications is once again best left for another discussion, but this is what allows developers like HTC or Motorola to replace the standard functions with alternatives that provide a different look and feel from stock. HTC’s onscreen keyboard or Motorola’s MotoBlur contact list are great examples of this. The “little guy” isn’t left out of the mix either. Handcent SMS or Chomp SMS can integrate into the OS very well, as most of us already know.
An additional set of Core Functions are provided by Google. Popularly called GoogleBits, things like Gmail, sync, Gtalk and the Android Market are applications written by Google that give an extra set of useful functions to the OS. You’ll find these on all smartphones, as well as many other Android devices.
Click to expand...
Click to collapse
iv. Optional applications.
These are applications provided by the manufacturer to give the device even more usability. Things like the Amazon MP3 store, PDF readers, Corporate Calendar etc. allow you to do even more with your device. Remember - Droid Does
Click to expand...
Click to collapse
B. How is a ROM packaged?
In most cases a ROM will come packaged in a .zip file. The recovery image’s kernel (yes, it has one too!) has the ability to unzip and copy the contents into the correct place. Inside this zip file is a folder (META-INF\com\google\android\) that contains a script prepared by the ROM “cooker” (another of those techie terms - it means the person(s) who developed the ROM) that tells the system what to format, what to copy and where, and any file operations that need to be done. Each device does things a bit differently, but this script is where it all gets done. More on this folder later.
You’ll also see a /system folder. This is the meat of the ROM. It has the necessary OS files, the Core functions, and any optional applications the cooker decided to include. The folder is structured the same way it is on your device - /system/app, /system/framework, etc. The whole tree is usually copied over and the existing /system folder is overwritten. The cooker uses the script to tell the kernel to erase the existing system folder, copy the new folder over, and set the file permissions.
Sometimes you will also see a data folder. This usually is space set up for optional applications, including optional system tools like busybox or SuperUser white list. These applications could be placed in the /system folder, but placing them in the data folder makes it easier for the end user (you and I) to remove or update them as needed.
You’ll also notice a META-INF folder. This contains the update script we talked about earlier, as well as secure keys that need to be provided so the device knows the update can be trusted. A special note needs made here. Trusted means that the update is trusted to be in the correct form to load the device. It in no way means the ROM is safe from malicious code. Anyone is able to use a set of test keys and create a ROM that will flash and run your device - even those people with bad intentions. Flashing and running a custom 3rd party ROM is putting faith in the cooker that he or she not only knows what they are doing, but are honest as well. Also, some Motorola custom ROMs will have a small update.zip stored inside this folder to be run on first boot of the device.
Finally we are left with the boot.img file. This is the kernel and ramdisk image we discussed earlier. Your phone copies this over to be decompressed and run when the device boots.
Click to expand...
Click to collapse
2. How do I install a ROM?
In this section we’re discussing how to install a custom 3rd party ROM. ROMs from the manufacturer usually have a utility that runs on your PC to flash and load the new image.
A. Got Root???
Yes ?:good:!!!
Custom ROM’s simply will not load on devices that aren’t rooted. In theory, it may be possible to sign a 3rd party ROM with the keys that the stock recovery image will flash, but for the most part you need to have flashed a custom recovery image before you can change your device’s ROM. Instructions and tutorials on how to root your device are all over the internet. Some are good, some are bad. The hacking forum is a great place to go and learn more about rooting and how to successfully get it done on your device.
Click to expand...
Click to collapse
B. Recovery
Most Android devices have had a custom recovery image written for them. This will overwrite the stock recovery image, allowing you to flash 3rd party ROMs as well as giving extra functionality. Help with finding and flashing the custom recovery image for your device can also be found in the hacking forum. The installation of a custom recovery image also allows for a very important function. Backup and restore.
Click to expand...
Click to collapse
.C. Nandroid
Nandroid is a set of bash scripts and code written by that copies the state of your system and stores it in a folder on your SD card. You can then use the restore function of Nandroid to restore to this point at any time. This is a priceless feature and reason enough to root your phone. It’s included by default in most custom recovery images, and the code is freely available to use if you’re inclined to write your own recovery image.
Click to expand...
Click to collapse
In most situations, using Nandroid to back everything up is easy:
1. Verify you have a memory card with enough free space (~300MB to backup, ~500MB to restore).
2. Reboot your device into recovery. It’s slightly different for each device, once again hacking forum FTW!
3. Navigate through the menu and select the Nandroid Backup function.
4. Apply your choice and wait for the device to tell you it’s finished.
It’s always good practice to copy the entire nandroid folder from your SD card to a safe place. You can then copy it back to the SD card if the card is ever damaged, lost or erased.
D. Copy and Flash
You’re rooted, have downloaded a custom ROM, have your system backed up and are now ready to flash your device. This is not nearly as scary as it sounds.
1. Mount your SD card to your PC, and copy the .zip file to the root folder of the card. Don’t unzip the file, and don’t look for a folder called root. The root folder in this case means the base folder, what you will see when you mount your card to a PC or the device.
2. Reboot your phone into recovery.
3. Navigate through the recovery menu and select the flash update option. Depending on your recovery image, the file may need to be named update.zip, or you may be able to select any zip file on your card as long as it’s the correct format. The cooker knows this as well and if the ROM needs to be named update.zip it will be.
4. Apply your choice and wait for your device to tell you it’s finished.
5. Reboot.
Click to expand...
Click to collapse
It’s worth noting that many times a new ROM will require that you wipe and factory reset your devices data. While inconvenient, it’s often necessary to get rid of the old data as it may be incompatible. As long as you’re using the cloud for calendar and contacts, they will be re- downloaded and stored back on your device automatically.
Credits
The internet
And other sites related to android development
And of course me
My Galaxy R forum friends !!
ERRORS encountered in CWM Recovery
.
What is CWM Recovery ?
ClockworkMod Recovery is a custom recovery for many Android devices. It is considered to be the most popular recovery for Android due to its easily-ported nature, and integration with ClockworkMod ROM Manager by Koush(Koushik Dutta). The easiest way to recognize it is by the printed name when it first starts, and the background logo of a gear and hat.
Click to expand...
Click to collapse
ERROR STATUS 6
This is usually caused by CR/LF EOL(Windows style End Of Line) in updater-script. Change it to LF EOL(Unix Style EOL) using Linux command: dos2unix updater-script, then re-signing the ZIP, will usually fix this error.
Click to expand...
Click to collapse
ERROR STATUS 7
This is usually caused by a corrupt download, or bad file signature. Re-downloading (or re-signing) the ZIP will usually fix this.
Click to expand...
Click to collapse
We have been consistently seen and heard people facing error “Status 7″ error while trying to flash or install
custom ROMs or firmware packages on their Android smart phones or tablets with ClockworkMod Recovery. Many
of the users are nowadays facing this problem with CWM Recovery while flashing .zip files of modded or custom
Ice Cream Sandwich (ICS) or Jelly Bean (JB) ROMs on their devices. So, you have also downloaded a custom ROM,
placed its .zip file in your phone’s or tablet’s SD card, booted into ClockworkMod Recovery, selected – “install zip
from sdcard” and then chosen the .zip file of the ROM to get it installed on your device. But instead of getting
flashed successfully, if you are facing the issue mentioned below, then just keep reading this article to find out
what’s wrong and fix up the problem :
Finding update package…
Opening update package…
Installing update…
Error in /sdcard/custom-jelly-bean-rom.zip (Status 7)
Installation aborted
Click to expand...
Click to collapse
or the following error right after CWM recovery shows –
Installing update…
assert failed: getprop(“ro.product.device”) == “I9103″ || getprop(“ro.build.product”) == “I9103″ || getprop
(“ro.product.board”) == “I9103″
Error in /sdcard/android-4-1-1-ics-rom-latest.zip (status 7)
Click to expand...
Click to collapse
So, if you are facing any of these errors while trying to install the desired custom ROM package on your Android
phone or tab, then you may try a various things or steps which may turn out to be the workaround of this
problem. Here are a few tips to get this “Status 7” error fixed in ClockworkMod Recovery and flash the ROM
successfully on your device :
(1) First of all, make sure your device’s bootloader is unlocked. If it is already unlocked but you are still
not able to flash the ROM, then just extract the .zip file of the ROM into a new folder, find the boot.img file from
that directory and flash it up on your phone or tablet via fastboot on your PC.
(2) Make sure that you are having the appropriate Radio or Baseband version installed on your device which is
supported by the custom ROM you are trying to flash. Most of the ROMs requires the latest version of Baseband, so
just update or upgrade your device to the latest Baseband version and then try to install the ROM once again.
(3) Update your device to the supported / latest build of official firmware before trying to install the ROM. You can
do it from – Settings > About Phone / Device > Software Update.
(4) Make sure you are having the supported or required kernel installed on your phone or tab. If it’s not, then flash
a new kernel right away and try to install your custom ROM once again.
(5) Is the ROM which you are trying to flash really works ? Find out whether it is working for other users or not.
Click to expand...
Click to collapse
NOW
ERROR STATUS 0
This is usually caused by an incompatible update-binary in edify ZIPs. Replacing it with a compatible one, then re-signing the ZIP, will usually fix this error.
Click to expand...
Click to collapse
Now it's time for the partitions :good:
Let’s start with a list of standard internal memory partitions on Android phones and tablets. These are:
/boot
/system
/recovery
/data
/cache
/misc
In addition, there are the SD card partitions.
/sdcard
/sd-ext
Note that only /sdcard is found in all Android devices and the rest are present only in select devices. Let’s now take a look at the purpose and contents of each of these partitions.
/boot
This is the partition that enables the phone to boot, as the name suggests. It includes the kernel and the ramdisk. Without this partition, the device will simply not be able to boot. Wiping this partition from recovery should only be done if absolutely required and once done, the device must NOT be rebooted before installing a new one, which can be done by installing a ROM that includes a /boot partition.
/system
This partition basically contains the entire operating system, other than the kernel and the ramdisk. This includes the Android user interface as well as all the system applications that come pre-installed on the device. Wiping this partition will remove Android from the device without rendering it unbootable, and you will still be able to put the phone into recovery or bootloader mode to install a new ROM.
/recovery
The recovery partition can be considered as an alternative boot partition that lets you boot the device into a recovery console for performing advanced recovery and maintenance operations on it. To learn more about this partition and its contents, see the ‘About Android Recovery’ section of our guide to ClockworkMod recovery.
/data
Also called userdata, the data partition contains the user’s data – this is where your contacts, messages, settings and apps that you have installed go. Wiping this partition essentially performs a factory reset on your device, restoring it to the way it was when you first booted it, or the way it was after the last official or custom ROM installation. When you perform a wipe data/factory reset from recovery, it is this partition that you are wiping.
/cache
This is the partition where Android stores frequently accessed data and app components. Wiping the cache doesn’t effect your personal data but simply gets rid of the existing data there, which gets automatically rebuilt as you continue using the device.
/misc
This partition contains miscellaneous system settings in form of on/off switches. These settings may include CID (Carrier or Region ID), USB configuration and certain hardware settings etc. This is an important partition and if it is corrupt or missing, several of the device’s features will will not function normally.
/sdcard
This is not a partition on the internal memory of the device but rather the SD card. In terms of usage, this is your storage space to use as you see fit, to store your media, documents, ROMs etc. on it. Wiping it is perfectly safe as long as you backup all the data you require from it, to your computer first. Though several user-installed apps save their data and settings on the SD card and wiping this partition will make you lose all that data.
On devices with both an internal and an external SD card – devices like the Samsung Galaxy S and several tablets – the /sdcard partition is always used to refer to the internal SD card. For the external SD card – if present – an alternative partition is used, which differs from device to device. In case of Samsung Galaxy S series devices, it is /sdcard/sd while in many other devices, it is /sdcard2. Unlike /sdcard, no system or app data whatsoever is stored automatically on this external SD card and everything present on it has been added there by the user. You can safely wipe it after backing up any data from it that you need to save.
/sd-ext
This is not a standard Android partition, but has become popular in the custom ROM scene. It is basically an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have special features called APP2SD+ or data2ext enabled. It is especially useful on devices with little internal memory allotted to the /data partition. Thus, users who want to install more programs than the internal memory allows can make this partition and use it with a custom ROM that supports this feature, to get additional storage for installing their apps. Wiping this partition is essentially the same as wiping the /data partition – you lose your contacts, SMS, market apps and settings.
With this, we conclude our tour of Android partitions. Now whenever you install a ROM or mod that requires you to wipe certain partitions before the installation, you should be in a better position to know what you’re losing and what not and thus, you’ll know what to backup and what not.
Nice thread, maybe add error status 0 for CWM
Sent from my C6603 using xda app-developers app
krabappel2548 said:
Nice thread, maybe add error status 0 for CWM
Sent from my C6603 using xda app-developers app
Click to expand...
Click to collapse
Done !!!!
Great thread, You are seriously doing well.:good:
MY thanks just ended
will use the mob app to thank u bro !!
After all you inspired me for this thread not
Moved to android general as per OP request.

[Q] How and where to start modifying/customizing roms

Hello, first of all this is my first post, so im gonna introduce myself first,
I am a freelance web designer/developer and understands logical programming. Anyways i am basically new to android, and i want to learn how to edit/modify/customize stock roms. so first i want to learn extract these stock roms. I am currently on the starting phase and i only have some ideas about the terms / programs that is used in this forums. Basically, i am running a windows machine, OS is windows 7.
I find it hard to fix some bugs i encounter in my android which lead me to the goal of learning.
So for the device that i will use as a scapegoat for my learning venture, i am using a Skyworth x7010 tablet which have no more support, i think and not a very well known model, infact i cant seem to find any forums dedicated to the tablet itself.
I am technically knowledgable in computer hardware and windows OS, also i am able to write different type of websites in php, (forums, E-Commerce, social networking/networking website, company web based panels, etc.). As of now I am currently working alone in every web aspect of bagongpleion.com and bagongpleion.net.
So far this is what i have done, and done to the tablet. I have no backup as of now.
1. I have already bricked one, just made it perma bricked then returned for warranty, the staffs decided to mark it as defective motherboard (No response from anything including recovery mode and bootloader mode) ~ Bricked it while trying to flash cwm for rk30 device.
2. device is running a JB 4.1.1 for the android version, and kernel 3.0.36+ ([email protected] #48)
3. I have already started learning adb, well for the most part, i had used it in the past for unlocking devices that got locked out screen patterns, and rooting.
4. The Device has a rk3188 1.6ghz max quad (Box says 1.8 though), mali400mp(Quad), 2GB ddr3 ram, 8gb internal storage, partitioned in 2, nand and internal.
5. I have the usb drivers for adb and rktool, android sdk, currently downloading and installing cygwin but the download is so long, i am forced to close/pause it.
6. I have already rooted the device, and modified the applications, and removed some apps that is not required. I deleted the files in the /system/app thru adb. I also had edited the Build.prop already, Changed the heapsize to the best performance (I am comparing the performance with CPU Identifier and Passmark. ) Stability is tested with simultaenous apps (High end games, browser, root apps, benchmark). I also edited the pixel density and reduced it by 1 to make the resolution exactly 1280 x 800.
7, One bug i found is that it cant play NBA 2k13, I had almost tried every solution i can find in the internet, Used different version, i even copied the data and apk from a device that can play it. The game force closes automatically after the Black screen (Original apk) or muzhiwan or apkmania.com loading screen at the start. This is also one of the reasons why i wanted to edit/modify the device.
What i wanted to do.
-Backup Original Firmware/rom/img (i dont know which and what is the correct term)...
-upgrade jellybean to 4.2 if possible, or 4.3
-Tweak more the device to bring out the full potential of it,
-remove and clean the apps and everything, leaving only the necessary files and apps.
-learn more how much i can modify it.
NOTE: I am not asking for the people in this forum to spoonfeed me, i just wanted to know how and where to start, what to do, some keywords for searching, and the limitations that i have in my venture.
-i am a gambler and will take the risk to learn android much more )
Thank you
First of all, congrats that you are more of a researcher. That's a good thing because in the internet, answers to every questions are available. You just need to do the right search in the right way. :good:
Games not working on a device maybe because of various reasons such as the developer has made it limited to work on certain devices or processor architecture etc. If Play Store link shows not supported, then it needs more research and modifications to make it work, which is like 50-50.
And, as a learner you are good to start with XDA-University. It has countless tutorials in that section.
Good Luck and welcome to XDA!
thank you for the link and reply, i am actually suited best in researching, i learned every bit and pieces i know in building websites, programming web apps and system with php, even overclocking and advanced troubleshooting in researching the internet, anyways i have another question to ask,
what is nandroid?
is it an android device with nand storage? (I.E. Nand - internet - external - usb storage)
thank you again
th3f33 said:
what is nandroid?
is it an android device with nand storage? (I.E. Nand - internet - external - usb storage)
thank you again
Click to expand...
Click to collapse
Nandroid is referred to as Nandroid Backup (Backup being taken of ROMs) in ClockWorkMod recovery (Custom Recovery) for the most part.
coolsandie said:
Nandroid is referred to as Nandroid Backup (Backup being taken of ROMs) in ClockWorkMod recovery (Custom Recovery) for the most part.
Click to expand...
Click to collapse
i see, thank you again, as of now, i am still downloading cygwin packages, do you have an idea how big is the total file size of it?
and another thing, I have used romdump, and got the following..
boot.img (13mb+)
checksum.md5(265b)
config.gz
recovery.img(32mb)
systeminfo.gz(1.76kb)
system.tar(385MB)
how can these files help me and can i use them for backup?
th3f33 said:
i see, thank you again, as of now, i am still downloading cygwin packages, do you have an idea how big is the total file size of it?
and another thing, I have used romdump, and got the following..
boot.img (13mb+)
checksum.md5(265b)
config.gz
recovery.img(32mb)
systeminfo.gz(1.76kb)
system.tar(385MB)
how can these files help me and can i use them for backup?
Click to expand...
Click to collapse
Sorry, no idea about Cygwin.
boot.img is your Kernel, and its needed for modifying the kernel. config.gz is the configuration of your device, and its also used for kernel building. recovery.img is your recovery. system.tar is your system partition which contains all files related to ROM. Yes, you can use these as a backup, as actually you'll get these when you take a nandroid backup in CWM recovery.
coolsandie said:
Sorry, no idea about Cygwin.
boot.img is your Kernel, and its needed for modifying the kernel. config.gz is the configuration of your device, and its also used for kernel building. recovery.img is your recovery. system.tar is your system partition which contains all files related to ROM. Yes, you can use these as a backup, as actually you'll get these when you take a nandroid backup in CWM recovery.
Click to expand...
Click to collapse
basically, the system.img is the one that is mounted on /system right? and it contains all files related to rom, does it mean that the ROM is like the OS? if i am not mistaken, i had already edited the apps and build.prop in the /system before i had made the system.img. But i have pulled the whole /system folder before i deleted the apps thru adb.
now the recovery.img is the one that have the android with red triangle exclamation point on vol+ power (android system recovery 3e, this is stock right) ? this is what i need to use if i fail on flashing a custom recovery? is that right?
how important is the config.gz?
boot.img is the kernel, should i stay away from the kernel for the time being? or is it better to check the boot.img first?
am i lacking any file for backup or is this enough for backup?
i have installed rom manager but it says it unsupported device. does it mean that i cannot install CWM?
i think i can flash custom rom with rkbatchtool, i had tried it before (custom rom for a different type) and it ended up bricking the device
as of now, i have tried flashing the generic cwm for rockchip which ended in a black screen recovery,
i also tried flashing my recovery.img but it doesnt work, it get flash but nothing works
it is still working fine as of now except that it doesnt have a recovery!
i think i had corrupted the recovery partition, cause i used a 1.35 rk flash tool and the memory address was set for rk3066 which is 0x0010000 (i think) and mine was 0x0020000.....

Android Guide For Beginners

You might be confused of many terms in Android if you are a new developer or new to android. Here I got some meanings of these terms. Please give me some thanks if this topic helps you.
i. Root - Talking root access means that you have gained the full control of your device. You have made the system directory as read/write. When you buy a device there may be some files which the manufacturer deter to modify or delete since doing this may hamper the working of your device. But by gaining root access you can have the control of your visuals and looks of your phone. It is somewhat similar to the Administrator of Windows OS.
ii. The bootloader is a line of code that is executed even before your Android operating system boots up. The bootloader’s code is specific for each make and model of the many Android devices. Bootloaders come “locked” because the device manufacturer doesn’t want you tinkering with the software that they worked so hard to optimize for that particular piece of hardware. Unlocking the bootloader allows you to tinker with the phone’s firmware, or even replace it with a custom firmware (aka: ROM). It is important to note that unlocking your bootloader will erase all data stored on your phone, essentially putting it back to a “factory reset” state, so you’ll want to save any pictures, music, or any other important files that are on your device.
iii. Recovery - Once your bootloader is unlocked and you have rooted your device, you will need a custom recovery. A recovery is a piece of software that is called up separate from the actual Android operating system. Its purpose is to make changes to the Android OS at a core level, such as delete user data, apply updates and more. The stock recovery is limited in function, so if you are planning on modifying/hacking/rooting your phone, you will need to install a “Custom Recovery” such as Clockwork Mod Recovery. A custom recovery will allow you to make backups, restore them, wipe partitions, install custom software and more.
iv. Backup / Nandroid - Once your custom recovery is installed, you will want to make a backup (also known as a Nandroid). A Nandroid is simply a complete and total backup of your phone. It will store all of your data, apps, settings, SMS messages, and more, basically allowing you to restore your phone to the exact state that it was in when you made the backup.
v. Wipe - Now that your backup is made, you don’t have to be afraid of making changes to your phone or losing data, since you can always restore it (just be sure to not delete the backup!). Now you can “wipe” your phone without worry. Wiping is deleting all the user data from your phone, essentially resetting it to its factory state. You can also wipe (ie: delete) other partitions of your phone like the cache partition. It is always recommended to wipe your phone before installing a custom ROM (we’ll get to that in a second). You can wipe your phone via the custom recovery you installed.
vi.Flashing - Flashing is the process of installing some sort of software or code via your custom recovery.
vii. Flashable ZIP - A flashable ZIP is the actual file that you install or “flash” via the custom recovery to make changes to your phone’s software. It is a normal .zip file that contains the lines of code to modify your software. These Flashable ZIPs can be used to flash a ROM, Kernel, Radio, mod, and more, which we will define below.
viii. ROM - A ROM is the main firmware or operating system that your phone runs. Just like Windows 7 runs on your PC, or Mac OSX runs on your Macbook, a ROM is the main software you interact with to use your phone. It includes all the system apps (messaging, email, phone), the launcher, the notification bar…everything really. Google’s Nexus line runs a “stock” Android ROM (meaning it’s unmodified) while manufacturers make significant changes to the look and feel of their ROMS before they ship them with your phone (for example: note the difference between the Samsung Galaxy S III’s software and the software on LG’s Nexus 4) . Code-savvy developers have taken the manufacturers’ code and created their own “Custom ROMs”. These ROMs can dramitically enhance the look and feel of your phone, and often add tons of useful features. Two very popular custom ROMs are CyanogenMod and MIUI. A ROM is made for a specific model phone and comes in a Flashable ZIP file that is installed (“flashed”) via your custom recovery.
ix. Kernel - Unlike a ROM the Kernel does not alter the look and feel of your phone, but is a “deeper” line of code that rests beneath the surface, so to speak. It tells the software how to interact with the hardware.
Deleted
guitarboy021 said:
Thank you so much man. This is EXACTLY what I was looking for! I saw ur post on my thread and followed it. Thanks man. Ill definitely give this one a try.
Sent from my LG-E988
Click to expand...
Click to collapse
Thank you. Go to this thread of mine to know about Custom Recovery and flashing it http://forum.xda-developers.com/showthread.php?t=3046718
Thanks a lot!
seemeandyou said:
Thanks a lot!
Click to expand...
Click to collapse
If you are helped then please hit the thanks button

Categories

Resources