[REF] Understanding the basics before rooting your S3 (GT-i9300/i9305) - Galaxy S III General

Note from the Author -
I am moving on to the N5 now and ditching my S3. I will continue to maintain this thread, however - please do PM me if you think that something needs to be changed or updated in this thread as I doubt I will be answering questions within the thread as much. Please don't PM support questions to me. Only PM updates that need to be made in the thread.
It's been a blast!
Regards
Dan
efs | backup your efs | backup your efs | backup your efs | backup your efs | backup your
Understanding the basics before rooting your S3 (GT-i9300/i9305)
This thread is intended to give you (as someone considering rooting your device) an overview of some of what I deem to be, really important information. Many people blindly follow guides and end up in trouble because they break their phones and don't really know what they were even doing at the time.
This may seem a bit overwhelming at first, there is a lot of text, but please do take the time to read it. It may save you further down the line.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Before we get started...
Here are a couple of threads you should get familiar with before posting on XDA.
Forum Rules - use Search before posting
Post Questions or Support queries in Q&A, NOT General
What is root access?
"root" is (but not exclusively) a Linux term. As you may or may not know, Android is based on a Linux Kernel.
The term "root" refers to the root of the device. All devices with an operating system use a series of directories (or folders) nested within one another. If you think of windows, your documents folder would be C:\users\username\documents.. Well, "documents" is a directory. It is within another directory (username).
Imagine "documents" being the top of a tree (A folder tree). You climb down the tree to username, past there to "users" and down to the root, in this example "c:". You cannot go beyond this level, because nothing exists beyond the root. To save a file directly on C: (not within any folders) would be to save a file to the root of your c: drive.
In Linux (unlike Windows), these root locations are completely locked down. A user of normal priviledges cannot edit any file or create files in these locations. They can only do this in their "home" location, which is the equivelant of username on windows. To gain access to these locations, you would need to be an administrator of the machine. Linux calls this Super User (su), and this user is said to have "root access".
This applies to Android in the same way. To root your Android device, is to have superuser access to the root locations of your phone, that you normally could not have access to.
Is it Risky?
There is always a risk having access to locations on your phone that are supposed to be locked down. You can easily delete things that your phone needs to boot up, which could lead to you losing all your data or even breaking your phone. This is why it is good have an understanding of your device and root access BEFORE you root.
It is worth noting that although many say rooting shouldn't void your warranty (it does in many places) even where that is supposed to be true, in practice, it isn't really. Even in the EU, I've seen many warranty claims rejected due to root so do think of your phone as out of warranty when you root.
The advantages of rooting
Why root?
More control over how the CPU acts. This can increase performance or battery life
More control over power consumption (undervolting)
More control over how apps start up. Prevent apps from starting up when they don't need to
Baseband. Try different basebands with the possibility of reducing drain or imporving signal strength
De-bloat. Remove or freeze system apps that you don't use
Access to community driven bug fixes that Samsung haven't released
Custom ROMs. Add additional functionality and controls over and above the stock experience
Increase redundancy. The ability to backup apps and entire phone
Theme. Don't be stuck with Samsung driving aesthetics.
Innovations. Use community driven features that improve your day to day experience
Better RAM management. Change the values of "Out of memory". Decide yourself when android should kill unused apps. Increase mutlitasking capabilities
Custom kernels. With kernels you can bring support for better audio features, better graphics performance and support for stock unsupported files systems
Google Android. Use android as it was intended before Samsung got their hands on it.
The Disadvantages of rooting
Why not root?
For all intents and purposes, rooting voids warranty.
Dangerous. You can break your phone and need the warranty you probably just voided
You open the doors for more mistakes. These mistakes may cause you to panic and further damage your phone
Lack of understanding. Blindly following guides and not understanding what you're doing.
No more official updates. Updating is a more manual process
Basic layout of /root on the GT-i9300
I'm not going to go into too much detail here. I just need you to know the basics. The GT-i9300 has an embedded Multi Media Card. This is the internal memory that everything on your phone you need to run it, is insalled on. It is the "internal memory" of the device.
Like windows and linux, there is a root to this memory, which has a few basic partitions that you need to know.
/efs - This is REALLY important. This is where your IMEI is stored, which you need to connect to your provider's network. Unfortunately it is the easiest partition to corrupt and impossible to restore without a backup so ensure you have a recovery or application to backup your efs cause if it goes (likely) you'll be sending your S3 to Samsung for repair.
Please read THIS THREAD for more info on EFS and IMEI issues.
/system - This is where the ROM is installed. Within /system are many important folders that you normally cannot get to.
For example, you have /system/app where all the important ROM apps are located. Things like the phone app and the messaging app. /system/bin, where all the important binaries are located that allow android to execute commands that it needs to, so it can function as an OS and /system/framework, where the crucial policies that control how things the user and processes interact with - act.
/data - This is where apps you install are kept. This is also where your data is kept, eg your SMS and e-mails. It also stores settings. If you change the wallpaper, it is stored here. What ringtone you have chosen... etc. The important directories here are /data/app and /data/data. These are what get wiped when you choose to wipe data\factory reset
/data/media is an important directory in /data. This is what is known as your "internal storage" or your "internal sdcard". /sdcard maps to here.
When you have root access to android, you can browse these partitions with a root explorer / file manager with root functionality.
There are also some hidden partitions you cannot browse like this. These are the partitions that contain recovery, bootloader and kernel
What are those things?
Kernel - This is always supplied with a ROM. It is the beating heart of Android. The ROM cannot function without the kernel. Since all ROMs include a kernel, if you're using a custom Kernel then flash a ROM, you will need to reflash the kernel again.
Please note, unlike the Galaxy S2 (and like almost every other modern android device) the kernel and recovery are independent. There is no link between recovery and kernel. Kernels are boot.img files.
Bootloader - this is what handles what you boot into. When you see the black Galaxy s III text, thats the bootloader. Its job is to handle the boot. It is responsible for booting into android, or if you manipulate the buttons in a certain way, it will boot into recovery or download mode. PLEASE NOTE, i9300/5 Bootloader is NOT LOCKED. DO NOT TRY TO UNLOCK IT. Only some US variants have a locked bootloader...
When you see this screen, you're looking at the bootloader:
Download mode is part of the bootloader itself. Again, it is a mini OS. It is designed for flashing stock (official) ROMs onto the phone (Which you can do using Odin). It is also used by Samsung to detect the status of your phone (if you have modified it or not).
If you have (or had before rooting) an official ROM above 4.1.1, Your bootloader flash counter in download mode will change to "1" at every boot, if you have a custom kernel or recovery - even if you reset it with Triangle Away. See the return for warranty link later in this post to get around this.
To access download mode, turn off your phone. Home volume down + home then press power. You will get to the screen below:
Press volume up to continue into Download mode:
Recovery - a secondary, min operating system designed to offer a few "drastic" options to recover when you cannot boot into android. For example, factory reset. Recovery isn't part of android. It is a seperate operting system. You can either boot into android or boot into reocvery.
To access recovery (custom or stock), turn of you phone. Hold volume up + home then press power.
The intial use of Stock recovery was to allow a user whose phone does not boot, to wipe their device to "recover" it to a booting state. It could also flash official updates from the sdcard. Custom recoveries do so much more, such as allowing you to flash custom rom.zip or kernel.zips from sdcard or backing up your device with a nandroid recovery.
Here is an example of a custom recovery (Philx Touch 5):
Please note, unlike the Galaxy S2 (and like almost every other modern android device) the kernel and recovery are independent. There is no link between recovery and kernel.
Some other stuff you may have heard about
Baseband / Modem / Radio - This is the software that manages your connection to wireless networks, be that voice or data. Unlike unrooted users, you can download and flash any number of i9300 (Versions for other models WILL BRICK YOUR PHONE) or i9305 radios pulled from official ROMs. I wouldn't waste too much time on them. Usually what your official ROM comes with in your country / for your carrier, is the most optimised for you. Try a few by all means but don't waste time testing every last one.
Be aware that Samsung official ROMs come with a baseband. Often this means Samsung based custom ROMs may also do so. Some ROMs which install using the Aroma installer (A kind of set-up wizard) may give the option to not flash the baseband. AOSP ROMs almost never come with a baseband. When you flash a ROM withotu a baseband, the previous baseband remains. You can by all means, mix and match ROMs and basebands. You are not tied to the baseband with the same build number as the ROM. For example, if you are on XXEMB1 ROM, you definitely do NOT have to stay on the XXEMB1 baseband.
RIL - RIL is Radio Interface layer. It's what sits between the radio (above) and the android telephony services. Each Radio is supposed to have a specific RIL. Every ROM comes with RIL as it's a requirement to function. Again, although the best pair is a matched RIL and Radio version, if you do change your Radio, it's not the end of the world. You may notice a little difference flashing the right one, but it's not something to get bogged down with. Personally, I very rarely try a new Radio. I almost never change my RIL.
It's worth mentioning that the above is only really valid for Touchwiz ROMs. AOSP ROMs use OpenRIL and are not compatible with Samsung RILs. Do not use apps like GetRIL or flash Modem+RIL packages on AOSP ROMs. You would have to reflash the ROM if you do this because using a Samsung RIL on your AOSP ROM will likely break your signal.
Also note, Nandroid backups generally don't backup the Radio. Some recoveries may give you a separate option to do so however. The RIL (as part of the ROM itself) is backed up in a Nandroid.
ROM - ROM really stands for "Read Only Memory" which refers to memory that cannot be overwritten. When we talk about an Android ROM, we are really talking about the Android OS which is installed ON the Read Only Memory, of course since rooting, the /system partition where the ROM is installed is no longer read only. It is read / write. Flashing a ROM will over write the entire /system partition with whatever is in the ROM.zip or ROM.tar. Any mods, scripts, themes or apps will be replaced. You can only have one ROM at a time, unless you use one of those funky dual boot kernels.
More advanced layout of the GT-i9300
Here we have a lovely MS paint diagram of the eMMC layout of the GT-i9300/5. Some of this you don't need to know, some of it you do.
1 BOTA0 - mmcblk0p1 - 4 MB
2 BOTA1 - mmcblk0p2 - 4 MB
3 EFS - mmcblk0p3 - 19.7M
4 PARAM - mmcblk0p4 - 8 MB
5 BOOT - mmcblk0p5 - 8 MB
6 RECOVERY - mmcblk0p6 - 8 MB
7 RADIO - mmcblk0p7 - 33 MB
8 CACHE - mmcblk0p8 - 1 GB
9 SYSTEM - mmcblk0p9 - 1.48 GB
10 HIDDEN - mmcblk0p10 - 587 MB
11 OTA - mmcblk0p11 - 8 MB
12 USERDATA - mmcblk0p12 - 11.4 GB
The above sizes are approximate and the diagram is not to scale.
Rooting the phone
When you go through the process of rooting the phone, you have to alter the ROM. Although the risks of this are very minimal, we couldn't technically say it was risk free. The process of rooting puts a binary (called "su") in /system/bin (remember we talked about that earlier?). This binary is what allows the user (you) to run things at an elevated privilidge (super user). That in itself would be quite risky, so rooting also gives you one of the superuser apps (there are 2 - SuperSU and SuperUser, both very good). These apps install to /system/app and act as a gateway. Essentially, these apps prompt you when another application wants "root access" so you can allow it or deny it. It's a form of protection against malicious intent.
Root is often enough for most people who simply want to run a few root apps, but many people will need to replace their stock recovery with a custom recovery. This is because you cannot flash custom roms from the stock recovery. Some methods of rooting give you root AND recovery. Some just give you root, but you can flash a recovery yourself using Odin and download mode. Technically you do not need root to flash a recovery and then flash a custom ROM as the rom will include /system/bin/su and /system/app/SuperSU anyway.
Odin is a useful Windows tool. You'll be using this to return your phone back to stock too by flashing a stock "firmware"
Please read Samsung Galaxy S3 General Sticky Roll-Up Thread ***Stickies found here!** to find all the rooting and flashing guides you need for the GT-i9300
If I were asked my opinion on how to root, I would recommend one of the 2 scenarios.
1) You want root only. No custom ROMs, kernels etc. Just root, just to use root apps.
CF Auto Root Via Odin
Why? Tried and tested method, simple to use. No need to choose what exploit you want to use as it's tailored for your device.
What does it do? It gives you a stock recovery (so can't flash things) and roots the Android OS
The Steps:
1) Download the Latest Odin
2) Download CF-Auto-Root for your model
3) Follow These steps to root
2) You want to flash custom ROMs / Kernels
If you want root on your existing Android ROM, you can do 1) first. Then flash a recovery of your choice (CWM, Philz, TWRP) via Odin
However, if you immediately plan on flashing a ROM, there's no need to root your existing ROM. Simply skip straight to installing a recovery. Backup then flash what you like.
The Steps:
1) Download the Latest Odin
2) Download recovery of your choice CWM, Philz, TWRP
3) Follow The steps to Flash Philz recovery (But for the recovery of your choice)
These steps can also be followed to update recovery to newer versions

Official Updates
Once you have rooted your phone, the phone is classed as "modified" and no longer qualifies for Official Samsung OTA updates.
It is possible to receive official updates (whilst rooted) via Kies, however this will remove root (just like flashing a full stock rom) and if you have any custom themes, kernels or /system modifications, this could really cause some problems to the ROM so it is best to avoid. Of course if you have flashed a custom ROM (even TouchWiz based ones) Official updates are a big, fat No-No.
If you do run custom ROMs, it's best to use their OTA method if they have one, or download from the threads on XDA and flash via recovery.
Flashing - Good practice
Recovery - Custom recoveries are very handy tools. Unlike the stock recovery, they have lots of options. Not only do they allow you to flash custom ROMs, but you can backup your current ROM too. This is called a Nandroid backup. Its a snapshot in time. It backs up your entire device, from the ROM to the Kernel and all your data too. If you restore a nandroid backup, your device will be extactly the same as it was when you took the backup. This means if you took a backup 2 weeks ago and restored it today, you could have lost 2 weeks worth of SMS.. but it is very handy. As soon as you have a custom recovery, a Nandroid backup should be the FIRST thing you do. You should take one before you flash any Mod, kernel, ROM or theme. It really is important, incase you manage to break your device.,
The RIGHT files - Always be careful that you know what you're flashing is for your device and you know what it is. Flashing files (ROMs, kernels etc) for other devices could BRICK your phone. Bricking means that it is beyond normal levels of repair, often meaning it needs the internal memory (which equates to the motherboard) being replaced. very expensive.
NEVER remove power - When flashing something, be it from your computer or from recovery (or mobile Odin), do NOT remove the power. It can corrupt not only what you're flashing but also what you're flashing to. If you corrupt any of your eMMC partitions, you could have Bricked the device.
Read, read and read - Read the development threads before you flash anything. Ensure you understand what you are flashing. Ensure you know the specific procedure layed out by the developer and you follow it closely. Do not ad lib. If you are unsure, ask.
DON'T PANIC - Think you've bricked your device? Dont panic. Stay calm. Dont google "unbrick S3" and flash lots of files you dont understand. There are many types of S3 "brick" (they're not bricks if you can easily recover) and many varients of the S3. Flashign these files could further break your phone and actually brick a not already bricked phone. Nothing for any other variant than the GT-i9300 should be flashed on it. The same goes for the i9305. Never flash for another model number.
Search and Ask - Unsure of something, read the stickies Samsung Galaxy S3 General Sticky Roll-Up Thread ***Stickies found here!** and do a search. Can't find your answer? Ask. It is easier for us to help you understand something before you do it than to fix something after you've broken it.
Provide details - ALWAYS tell us exactly what happened if you are requesting help. Always describe in detail what is happening.
"Flashed my phone now it doesn't work" is useless information.
"I rooted my phone 3 months ago and flashed a custom ROM. I decided today to flash ROM X from recovery Y. I booted into recovery and flashed from my internal SD card. I rebooted the phone and it is not starting up. It is looping at the boot animation" is GOOD information. We need to know What, when, how. We need to know if you followed a guide and which one (links where possible)
Backups
Backups are really important. This is how you can mitigate the risk of losing all your important data. Without these you could have to start again from scratch or worse, need to send your device for repair.
Your entire phone - Nandroid - Recovery
[*]efs - Recovery - EFS backup aapplications
[*]Your apps and data - Titanium backup
[*]SMS - SMS backup+
[*]Photos - Dropbox
[*]sdcards - FolderSync
The reason we backup is multifaceted.
A Nandroid will backup your entire phone. This is usually taken immediately before you flash a mod or a new ROM. Nandroid restores /system and /data. Usually when you flash a mod (kernel, theme, some system app or libs etc) and it causes a bootloop, a simple restore of Nandroid will return your phone as it was and booting again. In fact, you can use an advanced restore in recovery and choose ONLY to restore /system if appropriate
Titanium backup would often be done on a schedule. Every 2nd night or something, maybe once a week if you're daring. These are important for a number of reasons but the most important is if you are flashing a new ROM.
Remember earlier, we talked about all your data and apps being in /data/data and /data/app? Well, Titanium backs that up. When you flash a ROM, you have to perform a full wipe / factory reset before it will boot up properly. This is because you have settings stored in data/data for apps in /system/app that may have changed or no longer exist, or settings different to the settings in the new ROM. These are incompatibilities and these incompatibilities often will prevent a new ROM booting. Of course, a factory reset doesn't fully restore it to it's factory condition. It cannot restore the bootloader, rom, baseband etc because you overwrote these by flashing a new one.
We wipe, we install titanium and we restore all the data/apps and the /data/data related to /data/apps, but none of the data/data related to /system/apps (because that would restore the incompatibilities)
Here is how I restore using titanium backup after a wipe and flash....
Remember if your backup is on external sd, you need to point titanium to the location using preferences > backup folder location...
Go to backup / restore tab and press "click to edit filters" and deselect "system" and press the done tick icon to apply. Then from the previous backup / restore screen, go into the batch screen (another tick icon top right).
From this batch screen, select "restore missing apps with data" by pressing "run". Manually go through every app (yes, even if you have 300 apps) ensuring there's nothing samsung or rom specific there, unticking anything that is...
This should ensure a clean, user only app and settings. You will then need to manually set your system settings (ring tones, email etc)
Warranty
So, as we have discussed, warranty should be considered void once rooted. Technically in the EU, the OEM must prove root damaged your phone to reject warranty, however this is almost never the case.
When the S3 was released, it came with android 4.0.4 (ICS). The bootloader with ICS was normal. If you used Triangle Away once rooted, it would reset your binary counter forever. You may have kept status: Modified until you factory reset but that is not so much a problem.
When the S3 was upgraded to 4.1.1 Jelly Bean, a new bootloader was introduced. You could still reset with Triangle away, however on the next boot, if you had a custom recovery or kernel, the binary counter went back up to 1 again, which can present a problem.
Please see the following scenarios.
1) You just want root. No custom Kernels, no custom ROMs, no custom recoveries.
This is fine. If you root with CF-Auto Root it gives you a stock recovery. Once you reset the flash counter with triangle away, you should be fine.
2) You want root and recovery on a 4.1.1+ S3.
If you have a custom recovery or kernel, you can set triangle away to reset at every boot. The problem is if your phone breaks in such a way that you can never boot into android, but download and recovery mode still work, you're screwed, It goes back up to 1 on boot, fails to boot then you can only reset it with triangle away, which you can't use because it needs you to boot into Android. You see the risk?
3) You want root and recovery on a 4.1.1+ S3.
The alternative to the above is to flash This 4.0.4 bootloader via cwm. It can be reset by Triangle Away, and stays reset forever. Well why aren't we all using this? Because it is NOT SDS safe. This means if you ahev the unsafe internal memory, if you use download mode to flash anything, you risk bricking your device. Read [Important] Sudden Death Fix - Are you covered? for more information.
So it's a choice between:
I risk that under certain conditions, I may not be able to reset the binary counter for a warranty return
or
I have my binary counter at 0 always, but I cannot use download mode.
Please note, you need to run a TouchWiz ROM to use triangle away
Popular misconceptions
USB Debugging is always required for flashing.
Incorrect. USB debugging is an Android setting. It is only applicable within android. This setting does not work in recovery or download mode, so obviously anything done in those modes does not require USB debugging.
When rooting, all your data is lost.
Incorrect. Rooting adds a binary and application to your phone. It does not wipe it.
I need to root to fix my battery by wiping battery stats.
Incorrect. No one needs to wipe battery stats. Please read the wiping battery stats thread linked below:
Battery stats
What's good for you is good for me!
Incorrect. Everyone's usage is different. Everyone's set-up is different. Everyone's environment is different. There is no "Best" ROM. There is no "Best kernel for..." There is no "Most battery efficient baseband". All these things may acti differently for you than they will for me. What I like isn't what you like. Please do not create any "Best" threads.
If I ask the question "Blah blah blah for custom ROMS?", everyone will know what I am talking about
Incorrect. "Custom ROM" and "AOSP ROM" are NOT synonymous. People imagine when they ask about "Custom ROMS" that we know they really mean "AOSP ROMS". We don't. There are TouchwIz based custom ROMs too. We assume nothing.
B]I need yo be on a certain ROM to flash certain other ROMs[/b]
Incorrect. You're overwriting the ROM so why would ot matter what ROM you're overwriting?!
Important threads and resources
A list of important threads and resources...Please read ALL of these threads before rooting.
Mskip's unified toolbox(Root, drivers etc)
Index of Roms, recoveries and kernels
Guide for flashing roms, backups etc
Returning to stock for warranty
Odin flashing guide
Sammobile.com - stock firmwares
Be prepared ahead of time to fix a Brick
rootSU recommends
A few recommendations from me...
RootExplorer
Titanium Backup
Philz Recovery (CWM advanced)
Odin
Heimdall (Linux / Mac odin equivelant
That's it for now. I know this is a lot of information, but I believe this info to be the very least you should know before deciding to go ahead with rooting your S3. Please read it and read it again. Anything doesn't make sense, please ask in this thread and I will gladly help.
If any other seasoned rooters / flashers think there is something salient missing, please post her too. happy to add to it.

Glossary of terms
adb - Android Debug Bridge. This is a Windows or Linux command line tool that can be used to push files to a device, pull them, create directories. Very handy with a custom Kernel if you can't boot and need to get data from the device. This can be downloaded as part of the Android SDK or mskip's unified toolbox mentioned earlier.
AOSP - Android Open Source Project. This is google's code base. This is Android in it's pureset form. Anyone can download this code and build a ROM. It will take some work to build for a specific device however. Even Samsung start with this code at some point.
AOKP - Unofficial development team building ROMs based on AOSP accross a range of devices. AOKP stands for Android Open Kang Project. A play of the AOSP it is based on. Kang means to find / use (or even steal, although not in this case) source code.
baseband - The software responsible for controlling the radio hardware. Essential for network connectivity. Also referred to as "modem" or "radio"
bash - bash is a shell script language. Natively used in unix and linux, it can also be used within terminal emulators on android and scripts. Most mods that are scripts, use bash.
binary - a binary file is the opposite of a text file. It may contain data to be read by the OS rather than a human. It usually contains instructions on how a particular function should be handled.
binary counter - also referred to as flash counter. This is in part of the bootloader, viewed in download mode. The Binary counter increases as you flash non-stock (custom) recoveries and roms and kernels not "signed" by Samsung. The app, triangle away can help a little
boot.img - the kernel is contained within an .img file named boot.img. Not to be confised with sboot.img (bootloader)
bootloader - Bootloaders exist on almost any multi-OS bootable system. Windows has one, linux has one and android has one. It is how the device "decides" which OS to boot into. the user can manipulate hardware buttons during boot to alter which OS the bootloader boots into. It boots into Android by default but it can also boot into recovery or download mode. The bootloader is within an .img called sboot.img
brick - brick refers to a device that has been "bricked". A bricked device is beyond repair. In other words, your phone may as well be a brick, because it cant be a phone any more. A bricked device must be sent to the manufacturer / carrier / service centre for repair. You cannot repair a brick yourself. If you have something that can be repaired, it is not a true brick.
There are 2 types of brick referred to..
Soft brick, where the phone bootloops. These can sometimes be repaired, so for that reason it is not a true brick and I prefer to never use the term "Soft Brick".
Hard Brick. This is what I call a true brick. The phone cannot be repaired by a user. This of course does not extend to replacing parts. Sure, a brick can be replaced by replacing parts. It can't be fixed with external hardware or software however.
busybox - A set of tools to be added to android. Many root apps require busybox to run. It can be installed using an installer from the market. Similarly, most custom ROMs will contain busybox by default
clockwork mod - clockwork mod is a custom recovery
cfq - this is a scheduler (see scheduler). There is some info that can be read here: http://www.alliance-rom.com/community/wiki/i-o-schedulers/
checksum - see md5 checksum
cm - abbreviation for cyanogen mod. See Cyanogen
CPU - central processing unit. This is the brains of the operation. the CPU is what translates all the instructions and processes them. This is the main "power" behind any device. The better the CPU, the faster these instructions can be processed
custom ROM - A Custom ROM can be based on Touchwiz (Samsung stock), or it can be built from AOSP code. It really just means "unofficial" and will usually contain tweaks, fixes and imporvements for your device. A Custom ROM is a complete android replacement.
cwm - abbreviation for (see) Clockwork Mod.
cyanogen - a team of developers spanning multiple devices. Probably the most famous of development teams releasing heavily modified AOSP based ROMs. If there's any AOSP ROM thread for any Android device forum, there will be credits to cyanogen in there.
dalvik-cache - Dalvik-cache is a way of optimising applications. Its a way of ensuring all the dependencies an app requires are "at hand" to speed up use. It is rebuilt at start up when wiped. A de-odexed system will have more dalvik-cache than an odexed one.
de-odex - The act of removing odex from a stock ROM. On Stock ROMs, instead of using a dalvik-cache for system apps, we use .odex files instead. Generally custom ROMs prefer de-odexed configurations as it's easier to wipe and maintain when you make changes to your system.
deadline - this is a scheduler (see scheduler). There is some info that can be read here: http://www.alliance-rom.com/community/wiki/i-o-schedulers/
download mode - Samsung's own mode accessible via the bootloader. Hold Vul down, Home and power (from off) to boot here. Also referred to as "Odin Mode". This replaces the "fastboot mode" that most other devices have.
efs - Important partition / directory on the root of your phone. Ensures the IMEI number is present in the software. Back this up, because if it breaks, it's gone for ever. You need Samsung to repair.
eMMC - Embedded MultiMedia Card. This is like an SD card, but it's embedded in a device. the eMMC is a NAND flash memory chip which acts as internal memory (storage) on the S3.
exFAT - exFAT is a Microsoft proprietary (closed source) file system, used for media (sdcards, USB flash memory, HDD's etc). ExFAT is not natively supported in Linux and AOSP ROMs
ext - ext2, ext3 and ext4 are file systems created specifically for Linux. Our internal memory is ext (or "extended" as it is known). This can sometimes be used to refer to an ext partition, an old school method of partitioning your sdcard to link the internal ext partitions to to increase app space on low memory devices. Ext file systems cannot be read on Windows machines without special applications / drivers installed.
extSdCard - This is referring to the removable Micro SD card. Samsung ROMs mount the rremovable sd card in Android as /extSdCard. Recoveries such as CWM will mount it as external_sd. Both of these terms are valid, but it depends if the phone is booted to Android or Recovery. In AOSP ROMs, the removable SD card is often mounted as /sdcard1
FAT32 - another file system which is quite old now but still a good one. This is the only file system that is compatible with all devices unconditionally. The downfall is a maximum file size limit of 4 GB. Windows disk management GUI can only format up to 32 GB. Windows command lien tool "diskpart" can format up to the max volume size of 2 TB, as can many 3rd party tools such as easeus.
flash - Flash means a few things. It can refer to the fact that our internal memory is NAND Flash (Solid state) memory. It can also be the act of "flashing", or "to flash", meaning to install to flash memory. This doesn't really refer to installing an .apk. Rather, it refers to bigger, OS, System or device wide altering modifications (Kernels, recoveries, ROMs etc). Always back up before flashing.
Custom ROMS are usually flashed from your SDcard via recovery, as are kernels and basebands however, kernels and basebands usually can come in .tar format which means odin/mobile odin can flash them too from your computer/sdcard respectively. Rule of thumb, .zip from sdcard via recovery. .tar from sdcard via mobile odin or from computer using odin
flash counter - See binary counter
framework - The android frameworks are a standard structure within android that the OS is built around. It determines things like policy (how the OS should manage an event). It controls everything from notification behaviours to the theme. Anything visual within Android with exception to the notification area is controlled by framework-res-apk. AOSP and most manufactured ROMs only have 1 frsamework-res, however Samsugn Touchwiz ROMs alsu have a twframework-res.apk for Samsung only visuals.
gapps - Google Apps (gapps). AOSP ROMs like Cyanogen, have been asked by google to not include the google apps packages, which are proprietary to google (meaning not open source). This means that when you download these roms, you need to flash a gapps package separately. They are usually available as link in the ROM thread
governor - governors are included with kernels. I will not go into too much detail but essentially, the governor is a set of instructions which tell the kernel how to manage the CPU. It can control when the CPU ramps up or down, or how long it stays at a certain frequency. Most custom kernels come with a selection of governors to choose from using things like Set CPU. The governor settings for each can also be fine tuned or tweaked to y7our liking.
hotplug - this is a governor (see governor). Governors are explained in great detail here: http://www.alliance-rom.com/community/wiki/governors-explained/ - not all these governors are valid for our device, but it's a good technical read.
jig - a small usb device that plugs into the USB port of the S3. Designed to provoke "bricked" S3's to boot to download mode in an attempt to help recovery the device.
kernel - The kernel, it is said - is the "beating heart" of Android (or any OS for that matter). It sit's between the application layer (Android, applications etc) and the Hardware (CPU, Memory) and handles all transactions between the physical and the virtual. It passes information and instructions inbetween and translates. Very important stuff!
lulzactive - this is a governor (see governor). Governors are explained in great detail here: http://www.alliance-rom.com/community/wiki/governors-explained/ - not all these governors are valid for our device, but it's a good technical read.
md5 checksum - md5 checksum is a way to verify that a zip (or file) is not corrupt. A developer or uploader may provide a hexidecimal string called an md5 checksum. This checksum is a test done on the files that gives it a unique string based on it's contents. If you download the file and check the checksum and it does not match, it means the contents of the file have altered, usually meaning it is corrupt and shouldn't be flashed.
An md5 checksum is easy to check on android. My preferred method is using an android terminal emulator. Lets imaging I have a file on my external sd card called "rom.zip"...
In terminal emulator, type "md5 /mnt/extSdCard/rom.zip" and the terminal will give you an md5 string, If this matches the uploader's string, you're good to go.
If you're downloading something on Windows and then transferring it to your phone, it's a good idea to check md5 on both.
Linux is pretty much the same except the command is "md5sum"
For windows: http://www.winmd5.com/
modem - see baseband
NAND - NAND is a type of Flash memory. If anyone say's "NAND" to you, they are talking about the internal memory (Storage) of your device.
nandroid - nandroid refers to a backup taken or restored via custom recoveries. This is a universal term, although nowadays most recoveries simply say "backup" or "restore", but it is a nandroid backup they will be taking or restoring, which got it's name from the NAND flash memory that Android devices use internally. Nandroids are often only compatible with the variant of recovery you have. For example, a backup taken with CWM may not be compatible with TWRP, unless they introduce a compatibility setting in the future, which Philz recovery has done.
noop - this is a scheduler (see scheduler). There is some info that can be read here: http://www.alliance-rom.com/community/wiki/i-o-schedulers/
oem - Original Equipment Manufacturer. The OEM ROM for us is teh one the Manufacturer (Samsung) shipped with the phone.
overclock - overclocking is to set the CPU clock speed (frequency) higher than intended by the manufacturer. For example, the S3 has a 1.4 GHz (1400 MHz) maximum clock speed. With the use of a custom kernel and an application such as Set CPU, you can set this higher, to 1.6GHz or maybe even higher.
The risk is that the higher clock speed uses more voltage and voltage = heat. A higher clock with higher heat can permanently damage the CPU. Overclocking is usually paired with undervolting for these reasons. Another risk is instability. Each individual CPU has different tolerances due to imperfections in the manufacturing process. My CPU may be stable at 1.6 GHz, yet yours may be stable at a higher or lower clock. The side effects you will see here will be random reboots when the phone is under load.
pegasusq - this is a governor (see governor). Governors are explained in great detail here: http://www.alliance-rom.com/community/wiki/governors-explained/ - not all these governors are valid for our device, but it's a good technical read.
radio - see baseband
RAM - Random Access Memory. Great explanation here: http://www.androidcentral.com/ram-what-it-how-its-used-and-why-you-shouldnt-care
scheduler - built into kernels, there are schedulers to determine how CPU load is spread across different tasks. There are also read / write schedulers that spread out read and write operation priorities across the internal memory. Like Governors, there are different types of scheduler available.
sio - this is a scheduler (see scheduler). There is some info that can be read here: http://www.alliance-rom.com/community/wiki/i-o-schedulers/
stock - Imagine your phone is on a shelf in a shop. The phone is "stock" of that shop. If anything is referred to as "stock", this means standard for the device / as it was when shipped / as per factory set up. It is the opposite of custom. Some people refer to AOSP ROMs as "Stock Android". This may be the case for some phones, like the Nexus devices, but generally this is incorrect. Stock is whatever the phone came with as standard.
triangle away - an application designed to reset the binary counter. Warning, newer bootloaders (4.1.1+) now re-increment the binary counter at boot, so some trickery is required to get the counter to remain 0. This can be troublesome if you need to return for warranty.
undervolt - to undervolt is to lower the voltage used, either by the CPU or the GPU. Kernels assign a static voltage to each clock speed. For example, 200 MHz = 900 mV, 300MHz = 925 mV. Undervolting is the process of lowering this voltage staticaly for each clock speed, which potentially will save battery, although many people think it wont have much affect. Beware, undervolting too much can cause instability. When a clock frequency hasn't got enough power to sustain, the device will likely reboot or power off.
vanilla - meaning plain. Often used to refer to the "pure" android. AOSP without OEM skins, UI's and Launchers etc. The people who incorrectly use "Stock" to describe AOSP, really mean vanilla.
zzmove - this is a governor (see governor). Governors are explained in great detail here: http://www.alliance-rom.com/community/wiki/governors-explained/ - not all these governors are valid for our device, but it's a good technical read.

Every phone specific section needs something like this.
Very well done!:beer:

abaaaabbbb63 said:
Every phone specific section that can be rooted needs something like this.
Very well done!:beer:
Click to expand...
Click to collapse
Now you need the difficult part, people to actually read it.

Nice work @rootSU
Needs to be stickied and a humongous "READ ME" sticker attached! :thumbup::thumbup:
Edit........Reported©®™ so it gets stickied!

Its getting noobs to actually bother to read is the problem .
jje

True but i'll start with the "read my sig" method. At least if it's here, thats a small part of the battle. Anyone anything to add to post 1? Slappy? jje?
Sent from my GT-I9300 using Tapatalk 4 Beta

Add backup EFS first ??
jje

Some of the stickies in the roll up thread are badly out of date, you also might want to link to Mike Skip's toolbox, which reduces the chances of bricking considerably.

rootSU said:
True but i'll start with the "read my sig" method. At least if it's here, thats a small part of the battle. Anyone anything to add to post 1? Slappy? jje?
Sent from my GT-I9300 using Tapatalk 4 Beta
Click to expand...
Click to collapse
Seeing as this may well attract lots of attention, possibly add a reminder about reading the rules and link? I know it's not relevant particularly, but any chance to ram the message home is good :thumbup:

rootSU said:
True but i'll start with the "read my sig" method. At least if it's here, thats a small part of the battle. Anyone anything to add to post 1? Slappy? jje?
Sent from my GT-I9300 using Tapatalk 4 Beta
Click to expand...
Click to collapse
Instead of [REF] you should write [BOOBS]. That would attract attention.

Added:
Link to forum rules and "post in Q&A" threads
Important links and resources
efs (in partitions)
backups

I'm sure there's still loads missing, I just can't think of much so all suggestions welcome.

Added "The advantages of rooting". Miss anything?
EDIT > added disadvantages too.

OP, I have moved your thread to the q&a section and stuck it. It is a great FAQ type thread and will serve a good purpose being stuck where people go to ask these types of questions. :good:
Towle
XDA Moderator

Towle said:
OP, I have moved your thread to the q&a section and stuck it. It is a great FAQ type thread and will serve a good purpose being stuck where people go to ask these types of questions. :good:
Towle
XDA Moderator
Click to expand...
Click to collapse
Thanks @Towle
Sent from my GT-I9300 using Tapatalk 4 Beta

I've updated the following to sections to read as below:
Bootloader - this is what handles what you boot into. When you see the black Galaxy s III text, thats the bootloader. Its job is to handle the boot. It is responsible for booting into android, or if you manipulate the buttons in a certain way, it will boot into recovery or download mode. PLEASE NOTE, i9300 Bootloader is NOT LOCKED. DO NOT TRY TO UNLOCK IT.
Download mode is part of the bootloader itself. Again, it is a mini OS. It is designed for flashing stock (official) ROMs onto the phone. It is also used by Samsung to detect the status of your phone (if you have modified it or not).
If you have an official ROM above 4.1.1, Your bootloader flash counter in download mode will change to "1" at every boot, if you have a custom kernel or recovery - even if you reset it with Triangle Away. See the return for warranty link later in this post to get around this.

oops
first i thought it was typo but after i check out dictionary i just learn a new and rare word ... teh ....:fingers-crossed:

qtwrk said:
oops
first i thought it was typo but after i check out dictionary i just learn a new and rare word ... teh ....:fingers-crossed:
Click to expand...
Click to collapse
Not new, not rare:
http://en.wikipedia.org/wiki/Teh

Related

(Guide) (Beginners) You have rooted your phone, now what can you do

(Guide) (Beginners) You have rooted your phone, now what can you do​Note – I will keep updating this guide as much as I can
Note - Please ask as many questions as you need, there is no question to basic to ask, it would be better being asked here instead of starting a new thread.
Note – Please don’t swear in this thread fu**ing is still swearing, using this - ** - still means you are swearing. Also please don’t call anyone a Noob after all this is a guide for beginners.
Final note – Can all beginners please thank people if they give you an answer to your question.
So welcome to the world of being rooted, you now have a nice shiny new rooted Android phone, but what can you do now. Well I have decided to start this thread to tell you what you can now do. This guide is for beginners and should be treated as it is intended, keeping it simple and just going over the basics. This guide will be broken down into main sections –
Post 1
• Super User
• Clockwork Mod Recovery (CWM)
• Apps
• Roms
Post 2
Further reading, it’s time to get you geek on
Post 3
More usefull apps that you might like
Super User
When you have a rooted phone you will need this little app called super user that has a massive job. When you rooted your phone it will have more than likely come with this app, if not then you can download it here. The basic idea behind super user is to control the root access to you phone. Your phone must have this app before you continue with the rest of this guide. Using Super User is easy when you open an app that needs root access a prompt will come up asking if you want to allow this app super user access, giving you two options deny or allow.
Clockwork Mod Recovery (CWM)
Once you have rooted your phone one of first thing you need to do is make sure you have Clockwork Mod Recovery. All phones have a recovery mode that can be accessed when turning on your phone or some root access apps allow you to access recovery mode through them. What CWM recovery does is modifies this recovery mode to make it better, allowing you to flash nearly anything you want or need, such as roms, themes and kernels. Also through CWM Recovery you can create a nandroid backup, which is a backup of your whole current rom, you can also carry factory data wipes and more advance features.
So how do you get CWM, well the first thing to do is check, depending what root method you used you might have it all ready (power off your phone and then hold the power, home and volume up buttons together until you enter recovery mode). You will know if you have CWM Recovery by looking at the top of the screen is should say “Clockworkmod Recovery”; if it doesn’t then you need to get it. The easy way to get CWM is by downloading the app Rom Manager (talked about below), open Rom Manager and there is an option to flash Clockwork Mod recovery, select that select which phone you have and it will do the rest for you.
Controls for CWM Recovery – Then volume buttons allow you to move and the power button is used to select.
Apps
Right there are a number of apps that will take advantage of you root access, and I am going to cover what I believe are the basics.
Remember when using any app that uses the root access of your phone it can come with risks.
Rom Manager – So Rom Manager and CWM sort of go hand in hand, being that Rom Manager is the nice user friendly app, giving you control of CWM from your phone home screen. Just like in CWM you can backup and restore your rom, flash new roms, fix permitions and partition SD card. As said above you can use Rom manager to flash CWM for you straight from the app, you can download this app here.
BusyBox – Trting to keep this simple, when you have a rooted phone there are sets of commands that you do not have, installing BusyBox will give these. This is required to run some apps that require root access. I think that was simple enough, oh and before I forget you can get it here.
Titanium Backup Root – Titanium Backup is an enormously useful app. Not only can it backup apps, but it can backup apps and all their data, and it can delete apps—even system apps or bloatware (bloatware are apps that come with your phone that you normally can’t remove like Games hub), making regular backups of all your apps and their data. You can download Titanium Backup here, also if you would like to know more about how to backup and restore most things when changing roms (more about roms just below) you can use my other guide here.
These are the very basic apps that you will need to see you of into the future of a android custom android experience, I will include other cool apps that use root access in post 3.
Roms
So the best part about having a rooted phone well for me anyway is the massive list of roms out there. If you don’t know what a rom is then here we go. When you get your android phone and turn it on, you’re faced with this impressive software that allows you access to apps throught the market, make phone call, txt, maps, voice commands, email and the list is never ending. This is all done through the software known as the Rom, the rom you get when have your phone is known as a Stock Rom. Now it this stock rom that we can change to improve our Android mobile experience known as a Custom Rom, and there are lots of custom roms out there. Some are made to give you a better battery, better custimization, improved features, so to provide a vanilla experience and some try to make a balance of them all, but the main idea is to make android better. So roms are broken down into different categories, here is a breakdown of them for you.
Stock Rom – As talked about before stock roms are the software that comes with the phone, some people prefer the stock experience but I don’t. The main problem with stock roms is that manufactures will place an extra layer of software on top of the rom known as a user interface (UI), such as Samsung wither their touchwiz UI and HTC with HTC Sense UI. The problem I have with these UI are they are power hungry and well not to sound mean but touchwiz is not very well made.
AOSP – Android open Source Project is the android rom in its basic form, so it has no bloatware or power hungry UI’s. This is where you will get most of your custom roms from, there are devs within the android community most found right here on XDA, that will use AOSP and make their own custom roms with this adding to and improving it to make the best rom they can. Just as a note there is no best rom and you will never get an answer as to which is the best. Each rom is to their own and suit different people with different needs, but as a starter rom to get use to the idea of flashing roms and learning everything that is needed then I would recommend a Cyanogen Mod Rom, as this is the most popular and you will get the most advice from the community is it is the most used. You can find the Cyanogen Mod website here. The best way to find roms is to look through the forum and look in the Development and Original Development threads.
INDEX - Android Development [29 March] - Here is a Rom list from the Android Development Fourm, the list includes both ICS and GB roms, thanks to daniel_costa_rj
There is a lot more to roms that just this basic overview and I will be adding more in the future as this will take just as long as writing this whole thread, so keep an eyeout for more updates, including AOKP.
EFS Folder (Important)
Ok this is more of a you must do and not a what you can now do. So the efs folder is a very important folder within your android system that contains infomation like your IMEI number, and just well important infomation trust me it's important. When people start to mod their phone such as flashing roms, kernels e.t.c, this folder can become corrupt, making you phone usless. So backing up this folder is important and their is an easy way in which you can do this, a more user friendly way using a great app by hellcatdroid. You can get this app from google play here, and it will give you all the tools to back up the folder. I will also include a guide on further reading for you to have a look over, so please backup your efs folder.
Well that’s it for now, this is my first draft and I will be making a lot on adding and changing over the next week.
Thanks for reading and I hope this guide helps even a handful of people.
Further reading, it’s time to get you geek on
[Guide] Back up your data before moving to a new rom
[REF] Guide to the Galaxy S II and Android (04/10/11)
[GUIDE] Fix an unflashable or soft bricked GSII
[REF][TWEAKS] Kernel Governors, Modules, I/O Schedulers, CPU Tweaks, AIO App Configs
Android Terms,Slang & Definitions
Forum & Marketplace Rules
[REF] Backup /efs folder. IMPORTANT.
More usefull apps that you might like
Root Browser Lite - Root Browser is for both non-root and rooted users. If you are rooted then this app will give you access to ALL of Android's file system. With a beautiful interface, tons of features and a cheap price Root Browser is a must have!#
ROM Toolbox - ROM Toolbox is the MUST HAVE app for any rooted user.
ROM Toolbox combines all the great root apps all tied up into one monster app with a beautiful and user-friendly interface. It also adds many more unseen features!, Check out the link for the full feature list
SGS2 Dual-Boot Setup (LolBoot) - Dual-Boot your Galaxy S2!
/!\ Requires root /!\
/!\ This is for the Galaxy S2 *ONLY* /!\
When the dual-boot is set up, you can (re)boot between two different, independent ROMs.
Just powering on boots into the primary ROM (duh!).
Using the recovery button combo (VOL-UP+HOME+POWER) will boot into the second ROM instead of recovery!
Pluggin in a USB cable or AC charger when the phone is powered off will make the phone boot into recovery.
AdFree Android - THIS APP IS FOR ROOTED PHONES ONLY!
AdFree removes most ads in the browser and other apps. It does this by nullifying requests to known host names in the system hosts file.
If you have problems with this app, or you know of additional host names not being filtered, please comment in xda-developers.com forum so it can be fixed!
kTool - Tool for a few functions after rooting. Kernel dump/flash, EFS backup/restore...
/!\ Requires Root /!\
/!\ Works on the >Galaxy S2< and >Galaxy Note< *ONLY* /!\
(i) the "lock pattern bug" is currently being investigated and worked on!
kTool is a small tool originally bundled with Hellcat's Root-Kernel for the Galaxy S2.
It offers a few functions usefull after rooting the device:
- Dump current kernel to /sdcard/zImage
- Flash kernel from /sdcard/zImage
- Backup the phone's EFS (sensitive storage are holding the IMEI and other vital data) as a raw .IMG dump and a .tar archive
- Restoring EFS from the raw .IMG or the .tar backup
- Format EFS (create fresh filesystem for cases where you want to restore seperate files or a .tar backup, but the filesystem is stuck/locked in read-only due to corruption)
- Reboot (normal, directely to recovery or directely to downlaod mode)
EFS Pro - EFS Pro - For Samsung Android Devices
Advanced Backup and Restore of your Device's '/efs' folder!
Features:
Supports Backup and Restore of Partition Image (*.img) and Compressed TAR Archive (*.tar) formats.
Automatically detects saved EFS Backups on Device and PC for hassle free restoring.
Re-Scan option to refresh Backup list for restoring Backups.
Automatically Re-Mounts '/efs' folder with Read/Write permissions during restore for users 'stuck' with Read Only permissions.
Automatic detection and prompting of Mass Storage Mode.
Automatic detection and termination of SAMSUNG Kies application on startup.
Supports Multiple Backup handling.
Option to Format '/efs' partition before restoring an EFS Backup.
Displays Device, ROM and BusyBox information on startup.
(NEW!) Attempt NV Recovery - Restores NV Data from '*.bak' files if they exist to fix corrupt or incorrect IMEI number.
(NEW!) Repair NV Data - Repairs NV Data file ownership to fix 'Unknown Baseband' and 'No Network / Signal'.
Introduction to Kernels
What is a kernel
So to keep this simple their 3 parts of your device the hardware, Software (rom) and your kernel. The kernel is the communication link between hardware and Software, although some of the seen as more important things are battery life, touch, wifi and more. You can also use a kernel to give you greater controll of your phone with such things (each kernel has its own conrtoll features).
You can swap your kernel just like you can swap your rom, although you need to check that the kernel you are going to flash with work with the rom you are using. some kernels will work woth all rom types such as SiyahKernel, others are made to be used on certain roms only such as Stock Roms, AOSP roms, AOKP Roms, and some even more specific such as CM9, MIUI and diffrent versions such as GB and ICS. So you will need to check the thread for that kernel and see what the features are and what Roms it will work on.
Their are many kernels on XDA Develpoers and the idea is for you to try a few out and see which suits your needs best, as their is no best kernel, the same as their is no best rom. So here is a list of a few kernels to get you started, and remember to check that the kernel you are about to flash will work on your device.
[KERNEL][ICS][ExTweaks][All-in-1kernel][DualBoot] SiyahKernel v3.2b6
[KERNEL][05.05][APP/PRO/OTA][AOSP&SAMMY] N.E.A.K. ICS - Designed by Nature (v2.0.4x)
[KERNEL] SpeedMod SGS2 ICS [K3-16 CIFS ROOT / NO-ROOT CWM5]
[KERNEL] SpeedMod SGS2 [K2-21 CWM5 CIFS ROOT]
[KERNEL] XPLOD 3.0.24 opensource kernel
Learn more about kernels
I will be adding more reading on kernels soon
reserved for later
My very own rom
Ok so here it is my very own rom go to the link to see more
[Rom][4.0.3][Vertumus][Apex & Galaxy 3 TW Launcher] Dark Angel
Gonna try Adsfree. My best improvement with my custom rom (resurrection remix 1.1) is that now i can tether. And overall is much better than the stock one.
Sent from my GT-I9100 using XDA
Great guide
u said that u can flash new roms now that your phone is rooted but my question is dont you have to unlock bootloader to do that
i'm still new so i'll ask alot of questions
If you install ClockworkMod Recovery, it will allow you to flash roms as it will unlock bootloader for you
Sent from my GT-I9100 using XDA
ok then nevr heard of that but i'm still new to everything
would clockwork mod unlock the bootloader of xperia play r800i i recently rooted it(last night to be exact)
i know this may not be the xperia play section but i was searching and stumbled upon this thread
RealMcoy said:
ok then nevr heard of that but i'm still new to everything
would clockwork mod unlock the bootloader of xperia play r800i i recently rooted it(last night to be exact)
i know this may not be the xperia play section but i was searching and stumbled upon this thread
Click to expand...
Click to collapse
I am not sure you would have to look in the relevent thread for you device, i wouldent want to give you advice on a device i have never worked with.
Updating thread
I have started to add more to the thread -
Extra reading and more i have add some apps, their is a lot more to come.
fantastic post
I spent 10mins to go through the whole post and very helpful for me. As a newbie, I have learned a lot from you. Thanks for your work and keep updates.
AOKP sms related
I have rooted my phoen and installed custom ROM with AOKP sms, can some one please help me that how can i send sms to multiple ppl @same time, i mean how can i add contact group in AOKP sms, i tried a lot but not able to find it..
Did you install an aokp Rom or a custom AOSP rom and install the SMS.apk from AOKP source
Sent from my GT-I9100 using XDA
Update to thread
I have updated the thread a little with more guides for you to geek up on, and i have added a link to a rom list................ Enjoy
Just a thought mate, how about linking up a thread on how to back up your efs folder after root, last few months been lots of threads about efs being messed up, there is also a guide to re-storing ya efs if ya screw it up. Nice thread btw
Sent from my GT-I9100 using Tapatalk 2
E_Goldstein said:
Just a thought mate, how about linking up a thread on how to back up your efs folder after root, last few months been lots of threads about efs being messed up, there is also a guide to re-storing ya efs if ya screw it up. Nice thread btw
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
I will make an edit to the 1st post and include a guide on efs backup, not that many people now how important efs folder is so thanks for the idea.
Great Guide
This is very helpful indeed.

[REF} All in One guide for NOOBS! With Videos Now!

If you just switched from iPhone or BB or this is ur first android. Read this thoroughly and see ur questions get eliminated by this guide. if you find this helpful than show your appreciation and hit that thnx button.
All Credit Goes to appdroid for this amazing post.
I don't take any credit I Googled everything. I do take credit of modifying some stuff in word. I won't have this Phone but I am just being helpful to the community.
Little in-depth information about Android. Must Read. Thank You Pirateghost.
ADB → Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device..
Android →Unveiled on 5 November 2007, Android is a mobile operating system running on the Linux kernel developed by Google.
AOSP → Android Open Source Project
Apps2SD → Move applications from the internal NAND memory on the device to a removable SD Card.
BLN → BackLight Notification
Bloatware → Software bloat is a process whereby successive versions of apps include an increasing proportion of unnecessary features that are not used by end users, or generally use more system resources than necessary, while offering little or no benefit to its users. Like all the crap that comes from At&t
Brick → When used in reference to consumer electronics, "brick" describes a device that cannot function in any capacity (such as a device with damaged firmware). This usage derives from the fact that some electronic devices (and their detachable power supplies) are vaguely brick-shaped, and so those which do not function are useful only as actual bricks. The term can also be used as a verb. For example, "I bricked my phone when I tried to modify its firmware."[
Hard Brick → When your phone does not turn on at all. When you can’t get in to CWR/CWM Or Stock recovery. You are basically screwed.
Soft Brick → When your phone bootloops. When you can get into CWR/CWM. When You can use jigtag to get into download mode.
Busybox → BusyBox provides several stripped-down Unix tools in a single executable. It runs in a variety of POSIX environments such as Linux, Android, FreeBSD and others, such as proprietary kernels, although many of the tools it provides are designed to work with interfaces provided by the Linux kernel. It was specifically created for embedded operating systems with very limited resources. Platforms counterparts, but they are pretty close and useful nonetheless.
CWR OR CWM ClockworkMod Recovery →A custom recovery for Android phones and tablets that allows you to perform several advanced recovery, restoration, installation and maintenance operations on your Android device that aren’t possible with the stock recovery.
DEODEX → Apk files have respective odexes that devs use to supposedly save space. Deodexing means you convert it back to a .dex file and put it back inside the apk. This allows you to easily replace file (not having to worry about odexes), but the main point was to deodex services.jar so that you can change all text to different colors (such as the clock color to white) and to deodex services.jar, you need to deodex everything.
Flashing → The process of applying a firmware image (or ROM) to a device. It generally entails a very specific order of steps. Failing to complete any one of these steps properly may result in bricking the device.
Firmware → is a term often used to denote the fixed, usually rather small, programs and/or data structures that internally control various electronic devices. Programs stored in the ROM, EPROM, or flash memory that usually control various internal electronic devices (Hard Drives, Keyboards, Displays, etc). Firmware is typically 'fixed' software that is not updated in consumer devices, however it is often updated (or 'flashed') by advanced users to fix bugs or add features to the device. Flashing firmware designed for one device onto a different device, or not following a specific procedure while flashing will often render the device unusable.
Kernel → is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components
Radio → The cellular radio on the device which needs control software called firmware to control it.
ROM → Read Only Memory. In the context of an Android device, ROM is the internal flash memory where the core operating system resides. It can also refer to a specific version firmware that can be applied to a device through a process usually referred to as flashing. An improperly flashed ROM can often brick the device, rendering it unusable.
Superuser→ A program, which gives unlimited access privileges to perform any or all operations on the operating system.
ODIN → Odin is the Samsung software used to update Samsung phones. It does not work with any other devices other than official Samsung phones.
OTA or FOTA → (F)OTA stands for (Firmware) Over The Air and is the process by which required updates and enhancements to your phone's basic operating system can be sent to you through the cellular network. The Galaxy S II software update will be sent via FOTA and is available through Samsung Kies mini.0
ODEX → In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
SDK → Software Development Kit.
Logcat → A debugging tool built into Android devices that displays system logs as they occur. See Logcat.
NANDroid → A set of tools that will enable anyone who has root on their Android device to make FULL system backups, in case something goes wrong or you want to try out that new experimental ROM/theme. NANDroid will backup (and restore) /system, /data, /cache, and /boot partitions.
Recovery Mode → A special environment that you can boot into for troubleshooting and upgrading purposes.
Kang → The process of creating a code based of someone else's code or reapplying code that someone else created into your own code (e.g. git cherry-pick)
Rooting → is a process that allows users of mobile phones and other devices running the Android operating system to attain privileged control (known as "root access") within Android's Linux subsystem with the goal of overcoming limitations that carriers and manufacturers put on some devices.
HOW TO ROOT YOUR GALAXY SII I9100
For those of you who want to root your Galaxy S2 GT-i9100 on ICS (Ice Cream Sandwich Android 4.0+), here’s how to do it by flashing a new kernel.
Step 1. First, put your Galaxy S2 into download mode by holding down Volume Down, Center, and Power button together for about 10 seconds.
Step 2. When you see the warning screen, hit Volume Up button to enter download mode.
Step 3. Connect a micro-USB cable from your Galaxy S2 to your computer.
Step 4. Download ODIN program and CF Kernel. Then unzip both files. - Odin3v1.85.zip - CF Kernel
Step 5. Run the ODIN program. You should see a yellow highlighted rectangle box with a number. If you don’t, you need to install Samsung Kies. - Samsung Kies
Step 6. Hit “PDA” and choose the “CF-Root-SGS2_XX_XEO_LPQ-v5.3-CWM5.tar” file you unzipped earlier.
Step 7. Hit “Start” and the kernel will start flashing to your phone.
Step 8. Your phone will reboot when it’s done.
Step 9. Once you reboot, check that you have the SuperSU app. If you do, you are rooted. Congrats!
HOW TO DO A NANDROID BACKUP
For those of you who’ve recently rooted your Samsung Galaxy S2 Android smartphone, you will probably want to learn how to backup/restore ROMs on your phone using ClockworkMod Recovery. By backing up your rooted ROM, you will have an insurance in case something goes wrong in the future such as bricking your phone while installing a new kernel or ROM.
After rooting, we highly advise you to backup your rooted stock ROM as you will also need this to unroot if needed later on.
Here’s how to backup/restore ROM on your Galaxy S2:
Step 1. Power off your phone then reboot into ClockworkMod Recovery by holding down Volume Up, Home button, and Power button together
Step 2. Once in ClockworkMod Recovery, choose “Backup and Restore” and hit the Power button.
Step 3. Choose “Backup” and hit the Power button.
Step 4. When backup is done, it will be backed up to a folder with current date and time. You can always change this folder name to something more memorable like “rooted stock ROM”.
HOW TO RESTORE FROM A BACKUP
Step 1. To restore, simply hit “Restore” instead of “Backup” and choose the backup folder you want to restore.
Backup will backup everything including your ROM, kernel, contacts, apps, etc…etc… The only thing that won’t be backed up are the contents of your SD card.
HOW TO FLASH A ROM
Basic Steps
! Choose the ROM that you want and download its .zip file
!! Transfer the zip file to your phone’s sd card. Do not put it into any folder.
!!! Turn off your phone and reboot into recovery, usually by holding the down button and power button at the same time.
!!!! Do a Nandroid backup
!!!!! Do a full Data wipe, wipe the Cache and also wipe Dalvik
!!!!!! Flash the zip file that you put on your sd card
!!!!!!! Reboot phone
You can find all ROMS Here
HOW TO FLASH A KERNEL WITH CMW
_Download the Kernel You want to flash and put it in sd card.
__Boot in to CWM!
___Wipe cache & Dalvik Cache
____Press install from Sd card!
_____Select the kernel that you dloaded!
______Flash it!
_______Reboot!
________Check in CPU SPY to see if you successfully flashed Kernel.
All Kernels Can Be Found In The Development Section
HOW TO GO BACK TO UNROOTED STOCK
Step 1. Download and UNZIP Latest Stock Rom Here
Step 2. Put your Galaxy S2 i9100 into download mode by holding down Volume Down, Center button, and Power button together for about 10 seconds until your phone reboots and you see the warning sign. Press Volume Up button to enter download mode.
Step 3. Connect a micro-USB cable to your Galaxy S2 from your computer.
Step 4. Download ODIN, unzip, and run the program - Odin3v1.85.zip
Step 5. When ODIN runs, you should see a yellow highlight with a COM appearing. If you don’t see it, Download Samsung Kies Here and install. Then plug-out and plug in your micro-USB cable to your phone, you should see it now.
Step 6. Choose “PDA” in ODIN and choose the stock ROM file you downloaded/unzipped earlier.
Step 7. Hit “Start” and your phone should start unrooting/unbricking back to ICS official stock ROM.
Step 8. Your Galaxy S2 i9100 will reboot after 5-10 minutes.
Step 9. Your phone should now be on stock ICS.
Great idea for a thread.
I hope it will help all the noobs out there.
If anyone finds that any of the information above is incorrect or needs updating then please let me know and I will get the Guide updated.
Thank You for reading.
Thanks. Indeed a helpful guide. The stock rom for ICS is applicable for all regions ?
Sent from my GT-I9100
kt_samuel said:
Thanks. Indeed a helpful guide. The stock rom for ICS is applicable for all regions ?
Sent from my GT-I9100
Click to expand...
Click to collapse
Each stock ROM has a different modem inside for a specific model/region . Quick answer, it should work for all i9100 models. If you are on other variants like G or P or T, get the specific stock ROMs meant for them, the i9100 stock will not work.
Very nicely done OP.
I think this has been one of the better ideas on forums, making threads like this that explain the basics to people. Now, if we can just get people to READ them! haha.
thanks guys! this is very helpful
Hi I'm trying to root my sg2 for step 6 does it matter that the last 3 letters don't match my existing kernel?
I'm on Ics 4.0.4 my letters are LPT.
I've been reading and reading all these posts and guides and I'm confused :-\
Sent from my GT-I9100 using Tapatalk 2
brilliant idea & big thanks for the effort involved.
I have just acquired the phone (moved from the HTC Desire)
The links in post #6 are not working - ?any mirrors
Cheers
shamonee said:
Hi I'm trying to root my sg2 for step 6 does it matter that the last 3 letters don't match my existing kernel?
I'm on Ics 4.0.4 my letters are LPT.
I've been reading and reading all these posts and guides and I'm confused :-\
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
No it doesnt matter about the last 3 letters. And by flashing the CF Root Kernel only roots the device and gives Root Access for the user. Hope this clears things up abit mate.
cifa said:
brilliant idea & big thanks for the effort involved.
I have just acquired the phone (moved from the HTC Desire)
The links in post #6 are not working - ?any mirrors
Cheers
Click to expand...
Click to collapse
Hi I have just personally tested all the download links provided in all posts and can confirm them all to be working.
Hooe the problem is sorted for you now.
If you are still unable to download the files needed then please let me know and i will provide alternative links
Thanks
Sent from my GT-I9300 using xda premium
@ Nick Fury
Thanks for the headsup - links working again - & files downloaded.
what version of ICS is in the stock - I want to take my S2 which is on 2.3 up to ICS - but want to avoid ICS 4.04 (been reading about hard brick potential)
my S2 Model number is GT-I9100P - the stock you link to is definitely compatible with my model?
Thanks in advance....
cifa said:
@ Nick Fury
Thanks for the headsup - links working again - & files downloaded.
what version of ICS is in the stock - I want to take my S2 which is on 2.3 up to ICS - but want to avoid ICS 4.04 (been reading about hard brick potential)
my S2 Model number is GT-I9100P - the stock you link to is definitely compatible with my model?
Thanks in advance....
Click to expand...
Click to collapse
Im not completely sure if the linked Rom is compatable with your version 100% as I dont own this device any longer.
Might be worth asking around for the compatability listing.
I confirm that all information is correct with GT-I9100.
I honestly wish I could help more but its just the compatibility with your Model im unsure of.
If you find that listed Rom is compatible with your Device then please follow all the steps as listed in the Posts and there will be no problems.
But if this is your first time then I do advice to also download the Android Stock 2.3 Firmware aswell as a backup.
So if something does go wrong then you can always Flash back to 2.3 through odin and be back up and running again.
Hope this helps.
Sent from my GT-I9300 using xda premium
Great mate, nice to see someone helpful instead of the usual "get lost n00b" crap!
Everyone had to start somewhere!
Is there a CWM flashable easy root, as there is on galaxy ace, i found it much easier and less daunting than odin?
NeatROM -The Best!
@ Nick Fury
Thanks mate - your attitude & info much appreciated. Whilst I am a noob with the S2 - I had a lot of experience of ROM'ing the Desire.
I dont want to f**k this up - hence the questions
I'll research it out more.
Cheers

★★★★[INFO]ANDROID ROM & How they Work★★★★

★★★★[INFO]ANDROID ROM & How they Work★★★★
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.
Dirty flash and Clean flash
A dirty flash is only wiping cache and davlik then flashing your ROM....
a Clean flash is at LEAST factory reset/data wipe + wiping davlik(factory wipe takes care of /cache also)... Maybe doing a format /system also.
***Odin***
Odin is the ROM Flashing Tool for SAMSUNG smartphones. ROM files flashable with Odin come with .tar extension.
Most of the ROMs you are going to flash with Odin are the official stock Samsung ROMs (or leaked stock ROMs). Custom ROMs are rerely flashable by Odin because they come with .zip extension that Odin does not recognize (it recognizes .tar files).
Custom kernels, however, are sometimes provided in .tar format by their developers (e.g. CF-Root kernels), so that they can be flashed by Odin. When your phone is new and running official firmware you most often cannot flash a custom ROM to it because a Samsung phone often requires a custom recovery and root rights that are included in a custom kernel to be able to flash custom ROMs. That's why Odin often comes in handy in rooting and flashing a custom firmware to your phone because you (often) can flash a custom kernel with it that already includes root and custom recovery and enables you to flash custom firmware (custom ROMs). I use the word "often" very frequently in the previous sentence because every Samsung smartphone is different and requires various procedures for rooting it and flashing custom ROMs (see the section about using Odin below).
If it comes to stock ROMs, the best source of stock (official) Samsung ROM files is located at this excellent website: SamMobile.com/firmwares (link). It requires registration (it's free) and I encourage you to set up an account there because you will most likely use this site several times during your stay at XDA. You will most likely come across 1 .tar or 3 .tar file ROMs there, flashable by Odin. Refer to the Odin flashing guide below for more info.
Click to expand...
Click to collapse
****Heimdall****
What is Heimdall?
Heimdall is a cross-platform open-source tool suite used to flash ROMs onto Samsung Galaxy S devices.
How does it work?
Heimdall uses the same protocol as Odin to interact with a device in download mode. USB communication in Heimdall is handled by the popular open-source USB library, libusb-1.0.
Why “Heimdall”?
The flashing software Odin is named after the king of gods in Norse mythology. Loke, the software component on the Galaxy S that provides functionality to flash, may also to be named after an important character in Norse mythology, often translated as Loki. As such I have named my flashing software Heimdall, after the Norse god, and guardian of the Bifrost Bridge.
What platforms does Heimdall run on?
Linux, OS X and Windows (XP, Vista, 7 etc.)
Why use Heimdall when we can use Odin?
Odin is generally unreliable and only runs on Windows systems. Furthermore, Odin is leaked Samsung software that is not freely available or well understood by the community.
Is Heimdall safe?
No matter what method you chose, flashing firmware onto your phone has a lot of potential for disaster. We have tested Heimdall with a variety of phones flashing several different firmware versions resulting in a 100% success rate. As such we believe that Heimdall is generally reliable. However keep in mind, just like any flashing software, Heimdall has the potential to brick your phone if not used correctly.
How do Galaxy S phones get bricked when flashing?
Besides the inherent risks like power outs, accidental removal of the USB cable etc. The Galaxy S appears to be running extremely unreliable USB control software.
A failure to flash does not automatically equate to a bricked phone. However if you're extremely unlucky and the flash fails whilst transferring the primary boot-loader, secondary boot-loader or params.lfs (all quite small) than you've got yourself a paper weight that you're hoping Samsung will replace.
Please be extremely careful mixing files from different firmware releases. Don't do so unless you're certain it will work!
What Galaxy S variants has Heimdall been tested with?
We’ve tested Heimdall with a Galaxy S GT-I9000 (8 GB) from the United Kingdom and Galaxy S GT-I9000 (16 GB) from Australia. We don’t personally have access to any other devices to test with, however users have confirmed Heimdall functions correctly with the AT&T Captivate, Bell Vibrant, Telstra GT-I9000T, Epic 4G and the Galaxy Tab.
Click to expand...
Click to collapse
^
CWM Errors and Solutions
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
Error Status 0
Well sometimes while flashing some ROMs especially the cooked ones we get Error status 0 in the CWM Recovery
this error is an indicator of Wrong Update Binary.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
Partitions
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.
You should at least post the source of such a large copy paste post.
Sent from my GT-N7100 using Tapatalk 2
Source? How do you post a source for an article which is compiled from 10+ sites? Plus my own addition?
Started from the bottom
Good job man, this saves me the time to do all this researches.
Keep it up
Best regards
Sifou
Using a Samsung N7100
sos_sifou said:
Good job man, this saves me the time to do all this researches.
Keep it up
Best regards
Sifou
Using a Samsung N7100
Click to expand...
Click to collapse
DO tell me if you have some suggestions for the thread.
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
I think that this is a pretty good summary of the basics. I even converted it to epub and stocked it on my e-reader for reference
You can get to the details if you want? Adding some info about flashing softwares like odin and the Linux based one (i don't remember it name)
The different recoveries available and their advantages vs désavantages
How to protect yourself from malicious applications, starting from knowing what are permissions...
Keep it up mate
Best regards
Sifou
Using a Samsung N7100
sos_sifou said:
I think that this is a pretty good summary of the basics. I even converted it to epub and stocked it on my e-reader for reference
You can get to the details if you want? Adding some info about flashing softwares like odin and the Linux based one (i don't remember it name)
The different recoveries available and their advantages vs désavantages
How to protect yourself from malicious applications, starting from knowing what are permissions...
Keep it up mate
Best regards
Sifou
Using a Samsung N7100
Click to expand...
Click to collapse
Heimdall?
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
Tha TechnoCrat said:
Source? How do you post a source for an article which is compiled from 10+ sites? Plus my own addition?
Started from the bottom
Click to expand...
Click to collapse
I guess you have a point, it's just the scientist in me with source-referral-ocd.
Sent from my GT-N7100 using Tapatalk 2
adytum said:
I guess you have a point, it's just the scientist in me with source-referral-ocd.
Sent from my GT-N7100 using Tapatalk 2
Click to expand...
Click to collapse
DO tell me if you have any problems or if you want something to be added.
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
Thread updated with Odin and Heimdall information.
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
Tha TechnoCrat said:
Source? How do you post a source for an article which is compiled from 10+ sites? Plus my own addition?
Started from the bottom
Click to expand...
Click to collapse
By listing ALL the different sources? And obviously crediting yourself with bits you've added.
Sent from my GT-N7100 using xda premium
You should make the title of the thread more presentable though.
Simone said:
You should make the title of the thread more presentable though.
Click to expand...
Click to collapse
Would like some suggestions.
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
Tha TechnoCrat said:
Would like some suggestions.
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
Click to expand...
Click to collapse
You should think of your own. That would be the best
Make it more professional looking, though.
Everything else is good.
Guys I have got my Note 2 finally. Will compile some guides for it too.
Sent from my GT-N7100 using xda app-developers app
You bought a note 2? Congrats mate !
Best regards
Sifou
Using a Samsung N7100
sos_sifou said:
You bought a note 2? Congrats mate !
Best regards
Sifou
Using a Samsung N7100
Click to expand...
Click to collapse
Thanks buddy. Get ready for more guides
Sent from my GT-N7100 using xda app-developers app

[REF] ★★★Understanding the Android world before rooting your LG Nexus 4★★★

[REF] ★★★Understanding the Android world before rooting your LG Nexus 4★★★
Understanding the Android world before rooting your LG Nexus 4
Here is a *noob friendly* collection of information every user that wants to root their phone should know. Many people blindly follow guides without even knowing what "Rooting" means. Hopefully, this will help new users (and old ones, why not?) understand what is happening with their phone, and what they will put up with.
This may seem as a lot to read, but there are no shortcuts. You either read and learn what you're dealing with, or find out the hard way.
Let's get started, shall we?​
What does rooting mean?
To 'root' your phone means to gain administrative rights on the file system of your phone (in linux, root is the username of the master admin, kind of being an Administrator on Windows). With root access, you can install and uninstall anything you want on the phone.
Most phones come with limited access regarding what you can and can't do on it. This isn't necessarily a bad thing, because it can keep users from accidentally breaking something they shouldn't mess with on the phone, especially in regards to the operating system. However, many manufacturers limit your rights to things that aren't really so mission critical, too, and rooting the phone gets around this.
If you have a few unnecessary applications (bloatware) pre-installed on your phone that you cannot uninstall, rooting will give you this ability. It will also allow you to upgrade to newer versions of Android before your phone's manufacturer and/or cell provider make the updates available to you.
Click to expand...
Click to collapse
So now you know what rooting means. And I bet you are now thinking "Should I do it, or not?" Well, hope this helps you decide:
The advantages of rooting
-De-bloat your phone. Uninstall any unwanted system apps.
-More control over how the CPU acts. This can increase performance or battery life, depends on how you configure it.
-More control over power consumption. This implies undervolting your CPU, giving it less power, so it consumes less.
-More control over how apps start up. Prevent apps from starting up when they don't need to.
-Change your Baseband (Radio). Try different radio versions, with the purpose of reducing battery drain or improving your signal strength. This may also allow you to enable LTE, due to the fact that it's disabled on the latest radios.
-Flash custom ROMs. Bored of the stock ROM and look? Browse through the hundreds of custom ROMs provided by this community, each having different features and looks.
-Backups. The ability to completely backup your phone, and fully restoring it to the time of the backup. This is done with a Nandroid Backup (we'll talk about this later)
-Mods and Inovations. Use many mods, fixes, tweaks or features created by the community!
-Custom Kernels. As a Nexus device, the Nexus 4 has tons of kernels with different features, supporting better performance, or battery life! To see what a kernel is, keep reading.
-Run apps that need Root Permission. These apps can be very useful, like Titanium Backup, Root Explorer, Terminal Emulator and many others!
Click to expand...
Click to collapse
The disadvantages of rooting
-Rooting will void your warranty (Although reverting root is very easy)
-The process a bit dangerous. Something could (99.9% probably not, but still) go wrong, and end up bricking your phone. So, yes, the process is 0.1% risky. You can end up deleting everything on your phone. You'll have to handle this process gently and with care.
-You will be able to do a lot more mistakes. These may cause damage to your phone (But hey, that's why we have these kind of threads, eh?)
-No more over the air official updates. You'll have to update your phone manually, through your recovery. (Which isn't that hard)
Click to expand...
Click to collapse
Now that you fully know what rooting implies, let's continue exploring the Android world.
What about the internal memory? How does that work?
Now, as you might already know, each phone has an internal memory. In the Nexus 4's case, it's either 8GB or 16GB. This internal memory needs to hold a lot of things, not only your personal data. This is why you only have available to use 5.8 GB or 12.9 GB.
An Android's internal memory is partitioned into many chunks that have their separate purposes.
These are all the Nexus 4's partitions, and their names.
modem -> /dev/block/mmcblk0p1
sbl1 -> /dev/block/mmcblk0p2
sbl2 -> /dev/block/mmcblk0p3
sbl3 -> /dev/block/mmcblk0p4
tz -> /dev/block/mmcblk0p5
boot -> /dev/block/mmcblk0p6
recovery -> /dev/block/mmcblk0p7
m9kefs1 -> /dev/block/mmcblk0p8
m9kefs2 -> /dev/block/mmcblk0p9
m9kefs3 -> /dev/block/mmcblk0p10
rpm -> /dev/block/mmcblk0p11
aboot -> /dev/block/mmcblk0p12
sbl2b -> /dev/block/mmcblk0p13
sbl3b -> /dev/block/mmcblk0p14
abootb -> /dev/block/mmcblk0p15
rpmb -> /dev/block/mmcblk0p16
tzb -> /dev/block/mmcblk0p17
metadata -> /dev/block/mmcblk0p18
misc -> /dev/block/mmcblk0p19
persist -> /dev/block/mmcblk0p20
system -> /dev/block/mmcblk0p21
cache -> /dev/block/mmcblk0p22
userdata -> /dev/block/mmcblk0p23
DDR -> /dev/block/mmcblk0p24
grow -> /dev/block/mmcblk0p25
Yes, there are quite a lot. You, as a user, don't need to care about all of them. Here are the ones you will need to know about:
/system- size: about 0.5GB
This partition holds the Android OS itself. Kind of like the C:// disk on your every day Windows PC. This partition has many folders and files you cannot normally get to, due to safety reasons. For example, system/app is where all the system apps are installed.
If something gets deleted from this partition, Android will most probably won't work properly.
/data- size: either 5.8GB, or 12.9GB
This is where all your personal data is kept. This includes apps, sms, contacts, e-mails etc. It also stores your system settings, like wallpaper, and all those stuff you set up when you got your phone. The most important folders on this partition are data/app (where your apps are stored), data/data (where you app data is stored, like highscores and stuff), and data/media.
Data/media might be considered your sd-card. Yes, I know the Nexus 4 doesn't have an sd-card, but this folder works like one. When you connect your phone to your PC, this is the folder that pops up, with all your music, images, videos, and whatever else you keep on your phone.
Click to expand...
Click to collapse
Things are getting a bit more complicated, eh? Just bare with me. Next, I will be explaining the different terms you will be encountering throughout your Android experience.
Things you hear people talk about
Kernel
The kernel is an essential part of any Linux based operating system. It's the program that manages input and output requests of the operating system. Imagine you're at a restaurant. You give your order to a waiter. He takes it to the chef, the chef makes your food, then the waiter brings it back to you, and you enjoy it. In this case, you are the Android system, the waiter is the Kernel, and the chef is the hardware. The system gives the Kernel a request, like firing up another processor core when you play a heavy game, and the Kernel fulfills the request.
Here is an image for better understanding
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Recovery
This is a secondary, mini operating system that has access to your internal memory. It contains a few commands that would normally help you recover your Android system in case of a failure, like factory resetting. You will see that, for rooting, you will need to install a custom recovery.
The stock recovery does not have the ability to write custom ROMs (I'll explain these later) on your internal memory. A custom recovery has this option, and many more.
Here are some images for you to fully understand:
Stock recovery:
Custom Recovery
You can see that the Custom Recovery has more options, including "Backup and Restore", Advanced, and Install zip from Sd-card.
You can get in Recovery by powering off your phone, then hold Power+Volume Down button until a black screen with colored text appears. Then, use the volume buttons to select 'Recovery", and then press the Power Button to select it.
Bootloader
The bootloader is the first thing that fires up when you open your phone. As the name says (Boot+Loader), this program loads the kernel, which when boots up the Android system.
The same bootloader can also boot in recovery, as explained above.
When you first get the phone, the bootloader is in a locked state. That means that you cannot use fastboot commands like "fastboot flash" or "fastboot boot". With other words, you cannot simply flash a custom recovery. Thankfully, Google gave us the option to unlock the bootloader very easily, and flash a custom recovery of our choice.
Custom ROMs
A custom ROM is a ZIP file that contains an altered version of the Android OS. There are many custom ROMs for the Nexus 4, made by wonderful and skilled devs for the community. You can install a Custom ROM with your Custom Recovery. Custom ROMs contain the following folders and files:
META-INF- This folder holds the installation info and data. A custom recovery does not know on it's own how to install a ROM. In this folder, there's a txt file that contains a script, with the purpose of telling the recovery what to do.
System- This folder contains the stuff that will be installed on the /system partition that we talked earlier about.
boot.img- Among others, this file contains the kernel that comes with the ROM.
Click to expand...
Click to collapse
Ok, so now, after you read all this stuff, you're probably thinking "Ok, I will never get the hang of this". Don't worry. With time, you will know all of these from reflex. And, after you got over that, and manned up again, you probably thought "Ok, let's root this damn thing!". Not quite yet. We aren't done. There are still some crucial things that you need to know. So let's continue.
How to backup your stuff
Before you do anything EVER, you'll always have to backup your stuff, even if you don't feel like it, or your dog died (in which case I'm truly sorry), but, no matter what you're about to do, always have a recent backup sitting around.
There are many ways and things you can and will probably have to backup.
1. Backup your entire phone, by creating a Nandroid Backup.
As you saw in the 'Custom Recovery" picture above, you have a "Backup and Restore" option. Here it is again:
With every occasion, it's best to use it as often as possible. It only takes about 2 minutes, but it could be a life saver.
A Nandroid will backup:
/system
/data (Except /data/media, where your "sd-card" is, because it's too large and not that important)
/cache (Yes, there is a cache partition, and it will be backed up, although not really necesarry)
kernel (The kernel will be backed up too)
***Optional tip: I always keep a recent nandroid backup on my PC, in case I somehow wipe all my phone's contents, and my backup among with them. The Nandroid backup is saved at this location, which can be accest with a root file explorer, like ES File Explorer : mnt/shell/emulated/clockworkmod/backup. If you want to copy it to your storage, just copy the latest backup, and then move it to your PC.
2. Your apps and data only
This can be very useful when changing ROMs. You just got bored of your ROM, and want to move to another one. The only way of taking your apps and data with you is by backing them up with an application like Titanium Backup. The backups will be saved in data/media, and will be restored using the same app with which you backup up on the new ROM.
3. Your SMS, Contacts, MMS etc.
These things can be backed up by special apps on the Play Store. Ok, contacts will be restored by Google Sync ( although not always done properly, that's why I still back them up), but SMS will not be restored. There are many free apps that back them up for you, nice an easily, for them to be restored in case of a ROM change or data loss.
4. Your storage (data/media, sd-card)
You just connect your phone to your PC, select all folders, and copy all over on your PC. This will be useful when you unlock the bootloader. A bootloader unlock will wipe all the stuff on your phone (This can be avoided, read guides). So keeping a copy of your sd-card contents on your PC isn't such a bad idea.
Click to expand...
Click to collapse
Now you know how to keep it safe by creating backups. I will say it again, you are never too safe! Backup when you do a modification, even if it's tiny. Now, after you've finished reading the above, you will probably attempt to root. You will use one of the guides out there ( I will link one at the end of this thread ) to install a custom recovery, and gain root access. But what to do with it? Well, you will most likely end up flashing a custom ROM.
Flashing a custom ROM
You will get bored of the stock ROM, and will decide to flash a custom ROM. But you haven't done it before, and you don't really understand the process.Before you do anything, you must:
-Make sure that the files are for your phone ! If you flash files that were made for another phone, you might end up with a brick!
-Never panic! There is always a way out! That's what backups are for!
-Read all the instructions! Every ROM thread has instructions. Read them!
{By the way, flashing = installing}
Now, let me take you through the whole flashing process. ( Use the steps in the ROM threads if instructed differently than here )
1. You will search far and wide in these forums for a custom ROM that fits your needs. Every ROM comes as a ZIP file. So when you decide on a ROM, download the zip. For copyright reasons, Google Apps (Play Store, Google Now etc) don't come included with the ROM. So you will have to download them too. They are usually linked on the ROM main thread.
Some ROMs might have addons too, so check them out, and download the ones you want.
2. You now downloaded the ROM, Google Apps, and some addons. The next step will be to put them on your sd-card. Connect your phone to your PC, and make an easy access folder, like "Root Stuffs" where you'll put all these zips.
3. Now, let the backup process begin. You first backup your apps, app data , SMS, Contacts etc., like I explained above. I recommend Titanium Backup for apps and SMS, MC Backup for contacts.
4. Now you are ready to go in recovery. Power down your phone. Then, press and hold the Power Button and the Volume Down button at the same time. You will be brought to the Bootloader Screen. Now, with the Volume Buttons, switch through the options until you find "Recovery". Then press the Power Button again.
5. Now you will be booted in your Custom Recovery. Depending on your recovery, you will have the options on your screen.
CWM Recovery:
6. You will go to the Backup and Restore menu, and select "Backup". If you made a backup before, you can select "Delete" first, and delete it, for space consumption purposes.
7. After the backup finished, you will return to the main screen. There, select 'Wipe data/ Factory Reset". This will wipe everything in /data except /media, so your sd-card will remain untouched. Don't worry, you have a Nandroid Backup!
8. After the wipe finished, you will go to "Install zip from sd-card". You'll have to navigate to the folder where you put the ROM, and select it. You'll see it will nicely install.
9. After the ROM finished installing, you will have to flash the Google Apps zip, and the mods. Install them the same way you installed the ROM itself.
10. After you have flashed everything, you can select "Reboot system now" . First boot will take longer to complete. Again, don't panic. You have a Nandoid bakcup . You will end up with the ROM booted, and you'll continue setting it up.
TWRP Recovery:
6. Go to the "Backup" menu, select "Boot", "System", and "Data", then swipe the thing on the bottom on the screen to start backing up.
7. Once you're done, use the home button to get to the main screen. Select "Wipe", and swipe the thing again to Factory Data Reset. This will wipe data, cache and dalvik cache. This will not wipe your internal storage (Music, photos, etc).
8. After the wipe finished, use the home button again to get to the main screen. From there, select the 'Install" option. You'll have to navigate to the folder where you put the ROM, and select it. Then, by using the "Add more zips" option, add the Gapps package, and and then any addons or mods, in this order. Then swipe the bottom thing to flash.
9. After you have flashed everything, you can select "Reboot" . First boot will take longer to complete. Again, don't panic. You have a Nandoid bakcup . You will end up with the ROM booted, and you'll continue setting it up.
***In case something went bad, like your phone doesn't boot for more than 10 minutes, or the animation endlessly repeats itself (Boot Loop), do the following:
11*. Hold down the Power +Volume Buttons until the phone shuts down. Then release them for a second, and immediately press them again. You will be brought to the bootloader screen. Enter recovery.
12*. In recovery, go to the "Backup and Restore" menu, and select "Restore". Then pick the backup you did earlier, and wait for it to complete. Then, select "Reboot system now", and you should be booted back in your original ROM.
Now, let's say that after you flashed a ROM, it either did not boot, or you had some bugs with it. You will go to the thread ROM to report your problem. Here's how to not post:
"This ROM doesn't work"
You will have to be a lot more specific than that. In reporting a problem, you will have to do the following:
-Say what you did (Flashing process)
-What you flashed afterwards
-What you did to reproduce the bug
-What recovery you use
-ROM Version
-even provide a logcat <This is quite advanced> (http://forum.xda-developers.com/showthread.php?t=1726238)
You have to give as many details as possible, so the developer can sort things out.
Click to expand...
Click to collapse
ADB and Fastboot
ADB (Android Debug Bridge)
The Android Debugging Bridge is kind of a toolkit, that has many commands to control your Android from your PC. This is an essential part of your Android experience. With ADB, you can do many stuff that you couldn't normally do, like backup your apps, or push and pull packages from your phone.
ADB is also used by many of the useful tools out there, like toolkits, and all sort of programs that enhance your Android experience.
With ADB, you can also Logcat. Logcatting is creating a log of everything that happens on your Android phone while it's on. This is used to find the sources of bugs.
Example of ADB Commands:
Code:
adb pull /system/app/RANDOM APP = creates a copy of a system app on your PC
adb push app /system/app = Copies an app from your PC to your system partition
adb reboot bootloader/recovery = Reboots the phone in bootloader or recovery
adb logcat = Starts a logcat
Fastboot
Fastboot is also a toolkit of commands, but a bit different from ADB. While with ADB, you can do simple actions, with fastboot, you can do major ones, like flashing a whole partition, or formatting one. Fastboot is usually the preferred method to flash a recovery. Also, Fastboot usually works with .img files.
Example of Fastboot commands:
Code:
fastboot erase boot = Erases the kernel
fastboot erase recovery = Erases the recovery
fastboot flash system system.img = Flashes the System partition with an image
fastboot flash boot boot.img = Flashes kernel
fastboot flash userdata data.img = Flashes Data partition
fastboot flash recovery recovery.img = Flashes a new recovery
fastboot reboot = Reboots the phone
To use ADB and Fastboot, you must first have ADB drivers and Fastboot drivers installed. Here is a very good guide to set up these two useful things:
http://www.redmondpie.com/how-to-set-up-android-adb-and-fastboot-on-windows-tutorial/
Click to expand...
Click to collapse
Tips and Tricks
1. Try to not use toolkits. (I'm not disregarding any toolkit dev. They did a wonderful job)
Due to the fact that people are lazy in nature , toolkits have been made so that users don't struggle with rooting their phone. But there are many reasons for you to not use one:
-->you won't learn anything from using a toolkit, and, if something goes wrong, a toolkit can rarely fix your problem. It's better if you rely on your own forces.
-->you put the fate of your phone in someone else's hands. If a bit of code is wrong, then your phone could get bricked.
-->you miss out all the fun. Why buy a Nexus device if you don't want to explore the depths of the Android OS?
2. Never panic
Whenever you don't know what to do, and you're stuck, don't panic. There are many people here that can help you. Don't try doing anything blindly. Search the forums, or start a thread in the Q&As section, and we will help you.
3. Read everything carefully!! (If you read this, post a cat picture in this thread)
I might have said it a couple of times throuout this post, but always read everything. Someone wrote something for a reason. Usually, if you read everything, and do what you are told, you are bound to be failproof.
Click to expand...
Click to collapse
Ok, so now you know pretty much all a normal user should know. But there are still questions that are very frequently asked that need answering. Here are some questions and answers about popular problems and misconceptions:
Questions and Misconceptions
1. My Nexus 4 is getting very hot. Hardware problem?
Nope. There are many reasons that contribute to your phone getting hot, like
-the fact that glass is a good heat conductor, and the Nexus is covered in it
-the fact that a quad core produces more heat
-etc.
Don't worry. Everything is working as it should. For example, the Ipad gets 3 times hotter than the Nexus.
2. If I am rooted, will I receive OTA updates?
Yes, and no.
You will be able to download the update by having installed the Stock ROM with stock kernel, though it will not be installed automatically, due to the fact that you have a custom recovery. You will need to install it manually.
3. My notifications are delayed. Why?
Well, it due to the fact that Android is doing too much filtering.
To fix, navigate to /system/etc/wifi, and open WCNSS_qcom_cfg.ini. Now find the line McastBcastFilter=3. Change the value to 1, like this: McastBcastFilter=1, save, and exit. Then reboot. Your notifications should not be delayed anymore.
4. The Nexus 4 audio quality is horrible. Why?
It isn't horrible. It's normal, but the max volume isn't as loud as on other devices. I have been a piano player for 12 years. I have quite a sensitive ear, and I can tell you that the audio quality on the Nexus is comparable with that of an Ipod. The only major difference is that, with the Ipod, you can go deaf with the max volume.
5. Which kernel/ ROM should I use?
Don't ever ask this question. What's good for others isn't necessarily good for you. You'll have to try the many kernels and ROMs yourself.
6. My Nexus 4 rattles when I shake it. Why? Something broken?
Nope. There's nothing broken. That rattling is caused my the camera lenses moving. Don't worry about that either.
Click to expand...
Click to collapse
This is all for now. I hope you understand what's up with this Rooting process. If you have any questions, don't be shy to ask in this thread
If there is anything to be added to this thread, please post below
Thank you for the time you allocated to reading this! You are now smarter :good:
Good day, and Happy flashing!!!
For credits, useful links and other stuff, see the posts below.​
Useful links
INDEX of Guides, Tools, Recoveries and more... (By GaboWinter)
Unlocking Bootloader without wiping data
[HOW-TO] How to flash a factory image / return to stock / unlock / root #
Ultimate Nexus 4 Root Guide​
Credits and Thanks!!
@rootSU
For providing me a template and much of the info. His original thread in the S3 forums: (http://forum.xda-developers.com/showthread.php?t=2362743)
@mskip
For providing information on memory partitions
@paxChristos
For the logcat part
@efrant
For pointing out some mistakes
My annoying cat
For continually stepping on my keyboard.​
Thanks for this awesome guide!
ngr.hd said:
Thanks go this awesome guide!
Click to expand...
Click to collapse
Thanks!! No problem. My girlfriend left me, so I have plenty of free time now
abaaaabbbb63 said:
Thanks!! No problem. My girlfriend left me, so I have plenty of free time now
Click to expand...
Click to collapse
O god Nice guide, will be helpful. One thing though:
4. Now you are ready to go in recovery. Power down your phone. Then, press and hold the Power Button and both the Up and Down Volume button at the same time. You will be brought to the Bootloader Screen. Now, with the Volume Buttons, switch through the options until you find "Recovery". Then press the Power Button again.
Click to expand...
Click to collapse
The bootloader can be accessed using just volume down and power. I never have to use both volume buttons.
chromium96 said:
The bootloader can be accessed using just volume down and power. I never have to use both volume buttons.
Click to expand...
Click to collapse
One learns new things every day...
This thread should be stickied IMO.
ohersi intriguing
this thread helped me A LOT!!!
got my Nexus yesterday, and i'm happy that such a thread exists.
@ApriliaM3
U should really consider making this a sticky
Hello!
I bought my Nexus last week, and I kept looking on the internet they can do with it. I've heard of the root, and I was curious. I also found it very interesting forum where I found this thread. Thanks for the information. Very useful.
Sorry for bad English. I used Google Translate.
i JUST realized this was here.. DOH!
THANK YOU
Nexus 4 doubts
Hii i just got a 16gb nexus 4 which is my first android phone last month and now i was thinking of rooting it and getting paranoid android on it...but just wanted to get some doubts clarified...
1. I wont be able to install ota updates when 4.3 or 5.0 android versions are released , so how will i get them ?? By Updating paranoid android ROM ??
2. In case i just root my phone and not install any custom ROMs then will i get otas ??
3. After installing a custom rom , can i revert back to the stock google thing ? I mean make my phone as it was when i first booted it.. ??
Thats all i guess..
Nice guide Andu! :thumbup:
Sent from my Nexus 4 using Tapatalk 2
simms22 said:
i JUST realized this was here.. DOH!
THANK YOU
Click to expand...
Click to collapse
No problem
gamekid94 said:
Hii i just got a 16gb nexus 4 which is my first android phone last month and now i was thinking of rooting it and getting paranoid android on it...but just wanted to get some doubts clarified...
1. I wont be able to install ota updates when 4.3 or 5.0 android versions are released , so how will i get them ?? By Updating paranoid android ROM ??
2. In case i just root my phone and not install any custom ROMs then will i get otas ??
3. After installing a custom rom , can i revert back to the stock google thing ? I mean make my phone as it was when i first booted it.. ??
Thats all i guess..
Click to expand...
Click to collapse
1. Yeah. Paranoid will most probably be updated to the latest android as soon as the source is released.
2. Yes, you will get OTAs, but you will have to install them manually.
3. Yes you can. You can either do a nandroid backup of your stock rom, and keep it, or you can flash a stock rom.
xanthrax said:
Nice guide Andu! :thumbup:
Sent from my Nexus 4 using Tapatalk 2
Click to expand...
Click to collapse
Thanks!
Added Fastboot and ADB
If I made any mistakes, please correct me
abaaaabbbb63 said:
Added Fastboot and ADB
If I made any mistakes, please correct me
Click to expand...
Click to collapse
Ha. I was considering adb
Sent from my GT-I9300 using Tapatalk 4 Beta
rootSU said:
Ha. I was considering adb
Sent from my GT-I9300 using Tapatalk 4 Beta
Click to expand...
Click to collapse
Nice!
I really like how you styled your thread! Looks awesome!
is there a link you'd recommend to get all google apps and any other important apps
and Thnx for the great guide, really helped me ALOT
M.Zaki said:
is there a link you'd recommend to get all google apps and any other important apps
and Thnx for the great guide, really helped me ALOT
Click to expand...
Click to collapse
Google apps are usually linked in the ROM thread.
Here are the JB 4.2.2 gapps:
http://goo.im/gapps/gapps-jb-20130301-signed.zip
Its worth noting that some roms have specific gapps packages too. Its always good to use these dedicated packages in case they have cool optimisations (eg slim with the dark mode toggles)
Sent from my GT-I9300 using Tapatalk 4 Beta

[INFO][Guide][Noob] [Android] [ROM][Kernel][Recovery][Development]

Hello all,
I know there are many people who are curious about android or/and are about their new device. With this in mind, I have decided to give a brief idea about Android and its different aspects. I will use as simple words as possible.
Every highlighted word is a term that is used often at XDA or just refers to the word in FAQs in case you cannot find it.
ANDROID is an open-source (thus possibilities endless) mobile operating system (OS) based on the Linux kernel and currently developed by Google
With a user interface based on direct manipulation, Android is designed primarily for touch screen mobile devices such as smartphones and tablet computers, with specialized user interfaces for televisions (Android TV), cars (Android Auto), and wrist watches (Android Wear).
ANDROID is usually based on these four major components:
ROM :
It is the system on which phone works (like windows for PC). Or simply called an Operating System. Can be Custom/Stock. Usually you need a custom or official tool to install/ repair a STOCK rom.
KERNEL is a part of ROM which is a programmed code that tells the phone how to function in accordance to the ROM & hardware capabilities. It can also be Custom/Stock. Sometimes they are used to enhance user experience, performance, battery life by small changes made to them. Some kernels are specific to ROMS.
DIFFERENCE BETWEEN CUSTOM/STOCK
When you buy your phone/tablet from a retailer, you are on STOCK ROM and STOCK KERNEL. (its from your mobile manufacturer and in this case straight from Google as it is a nexus device. Thus it is called a STOCK ROM/ STOCK KERNEL.
The STOCK ROM & KERNEL is usually an all-rounder to fit most of the users. However, some people are not happy with the limited option available on their devices. As Android is open sourced, and thus easily customized, they want to explore different options by tweaking their devices
In other words, some people like gaming on their devices while other want to increase the battery time, speed, performance etc and the possibilities are very vast as what we want from our devices. Like a person who likes to read books on his device would not care for heavy gaming performance but appreciate if he can get more juice out of his device so he can read more on a single charge.
Therefore, we can say we all need different flavours and thus there is a need for customisation. However, there could be some minor disadvantages too that come with some advantages like overclocking can result in heating and quick battery drain while it increases performance. Also, increased battery life might slow down your device if you are tweaking or under-clocking it too much Therefore, most of the developers try to find the best combination of both performance and battery. However, some custom ROMS/Kernels are developed with specific functions in their core like they might focus only on performance and gaming while other might just ignore heavy gaming and focuses on battery usage. Therefore, it is to your advantage to use your device how you like want it to function according to your preference.
By customisation, we run our devices to our needs and get the most out of it in accordance to how we want to customise it.
SOME CONSIDERATIONS
All devices ROMs and KERNEL are specific. This means stock/custom ROM for every device is specific so you cannot flash a ROM which is made for other device. This can permanently damage your phone. A famous Custom Rom is CyanogenMod which is currently on version 12.1. Although the ROM would be same for many devices, but you can not flash CM12.1 for Xperia M to Xperia M2 etc. In the same way, you can not flash custom/stock kernel of one device to another.
Rom can be installed via official tools provided by manufacturer or by using custom tools. Usually when you flash a STOCK ROM, it flashes SYSTEM+KERNEL+RECOVERY. However, some unofficial tools can help you flash any one component of the ROM. It could be Kernel/ Recovery or System.
RECOVERY
Recovery is also a part of ROM which is basically a backup mechanism of your device which lets you install stock ROM to your device if something has been corrupted in your device software. However, many CUSTOM recoveries are available which are necessary for flashing CUSTOM ROMS, MODS to modify your ROM and also you can backup your ROM(called nandroid backup), partition your sd card amongst many other uses. Recoveries could also be flashed via kernel as they are preinstalled.
BOOTLOADER is basically a lock in your device which doesn't allow modifications to your phone by the Manufacturer. Unlocking bootloader voids your warranty and stops automatic updates of your STOCK ROM. However, you can easily lock your bootloader again any time or manually install STOCK Updates.
Remember you should usually unlock bootloader before rooting unless you are installing a custom rom which is pre-rooted and allows locked bootloader.
ROOTING
This is basically a powerful exploit to take over your system and kernel of your device. It simply means that some system files which couldn't be modified can be changed now. It is as if you have complete power of your ROM and hardware. There are no restrictions from your manufacturer and thus you can change values , overclock your processor or put your hardware in hibernation to increase battery life, turn on/off your cores , speed or enforce 3D gaming cards to play HD games which you couldnot play before. However, this is a very tricky business so if you mess it up and not sure what you are doing, you can really end up with a bricked phone.
Usually apps are used to change these values or it could be done via SDK tools/ programming. To be sure if you are rooted or not, you can install ROOTCHECKER app from PLAYSTORE.
ADVANTAGES OF ROOTING
- You get full access to your phone's Hardware and software
- You can Overclock CPU clock speed and make phone faster
- You can Install many mods to improve camera, audio and video playback quality
- You can Install Beats Audio Drivers/others to enhance audio output
- You can increase speaker / earphone volume using volume hack
- You can Install Custom ROMs and Apps
- You can take the hell out of your device and Improve user experience
Rooting is safe and reversible, You can unroot your phone if you want. It won't void you're warranty etc
DISADVANTAGES OF ROOTING
-Chance to brick your device if the wrong software gets flashed. This can be EASILY reversible
-Warranty is void. You can flash STOCK ROM again and no one will have a clue you did that. So it can be reversible.
-Because, after Rooting you give permission (apps prompt, it's not by default) to apps to change values so if you give it to a malicious app, it can result in Viruses or security/privacy breach.
In all honestly, I am using rooted devices for over 5 years now and I never had any problem with viruses however, I have bricked my device innumerous times by accident. (I have flashed and rooted my device almost every one to two weeks and I have bricked my devices so many times in testing phase of Roms). I was always able to retrieve back the device with some tools and thus it was not much of a problem.
DIFFERENCE BETWEEN GOOGLE NEXUS DEVICE AND A NON NEXUS DEVICE
GOOGLE NEXUS DEVICES give you vast freedom to install custom roms and it is comparatively very easy to unlock bootloader of these devices so a custom Rom can be flashed. (Flashing rom is equivalent to installing windows in PC). You can understand that a Nexus device only needs one command to unlock its bootloader while others could trouble you a lot for that.
Also, Google is very quick with updates on their devices which mean that you will get the latest software updates officially as they come out. Thus, even staying on STOCK ROM is not a bad choice for many users. Every update increases stability and gets rids of bugs. And of course, sometimes the bugs are not ironed out well and come back
NON NEXUS DEVICES do not give you as much freedom as a Nexus device. It is usually much harder to unlock their bootloader, develop on these devices and usually some exploits are needed to run custom ROM/root/kernels. Manufacturers or these devices try their level best
to narrow down the exploits as in other words, the more exploits a device has, the less secure it tends to be.
SOME CUSTOMISATION DIFFERENCES
As it is a nexus device so Asus has no say on any customisation at all. Thus, Nexus devices are said to run the PURE ANDROID and give you the best android experience in my opinion. However, usually manufacturers customise pure android from Google. To understand better, Google is responsible for development of the android OS so every new version is made by Google and then it is open sourced to manufacturer of different devices. Manufacturers like Samsung/Sony/Motorola/HTC customize the code provided by Google to customize it to their likings. This can result in some added options but can also result in slow performance if there has been too much customization from a device maker. Google itself is only responsible for the software and DOES NOT make any hardware itself.
Also, many manufacturers take a small fee from some app developers and install their apps with every device they produce. It is good news for app developer and manufacturer but usually a burden for users as not only they hog RAM, diskspace, and slow down the device they also are useless to many users. Referred to as BLOATWARE
SUPPOSE YOU HAVE DECIDED TO INSTALL CUSTOM ROM/ KERNEL.
This is a short synopsis of steps which are explained in details later in the post :
1.Unlock your bootloader
Some phones have unlocked bootloaders out of box (Not anymore)
2.Root your phone , which can be done via flashing a custom prerooted kernel or by binary method. There are innumerous ways now actually so usually visiting your device forum will help you find it.
3. Flash a recovery. This step can be done before or after unlocking your bootloader. Even you can root your phone via flashing SuperUser in recovery. However, sometimes, you need a rooted device before you can install a custom recovery using exploit/ scripts method.
SOME COMMON MISTAKES AND PREREQUISITES:
1. Make sure what ever you do, do it as administrator on your PC.
2. Make sure drivers are installed properly for your device.
3. Make sure, USB debugging is ON
4. Unknown Sources is ticked as well
5. Windows 7 is usually quick to install drivers itself. In windows 8 however you have to manually install drivers.
6. There are tools like SDK which is about 500mb which can help you to install drivers/fastboot etc but this is the long route. I suggest you just find platformtools in attachment which would be enough for cmd commands.
UNLOCKING BOOTLOADER :
I will give you a rough idea and it is NOT a guide to unlock your bootloader !
Basically, when you buy your phone it is locked from the manufacturer so no changes can be made to the software(STOCK ROM & KERNEL ) and thus this way, they can stop users to modify their software which might damage the device and they do not want to be responsible for that. So unlocking bootloader voids your warranty. However, this can be reversible.
ROOTING :
What you do in rooting is either flash a kernel via fastboot or exploit your device using binary method. This gives you permenant root, however there are ways to get temporary root too.
ROMS & KERNELS :
You choose a rom to your likings and then flash it via recovery. Usually the instructions are given on every rom as there is slight change as to how to flash it.
There many Roms & Kernels made by developers after lots of hardwork and testing. Thus every rom that surfaces might not be good for you but best for another user. Thus, it is never good to compare roms. What might work for you might not work for another.
I hope this helps!
MORE TERMS CLICK HERE
DEVELOPMENT PROCESS
INTRODUCTION
I am starting this forum in hope of educating my readers about ROM development according to my experiences. Further, I will highlight what is the usual developers' thought process before they decide to build a ROM for a specific device. The reasons why they usually choose a certain device or why they prefer one device over another would also be stated briefly. I also have intention of looking into ways how we can speed up ROM productions for any device and what you can do to play your part.
I UNDERSTAND YOUR FRUSTRATION FOR NO CUSTOM ROMS EVEN AFTER SOME MONTHS BUT THIS DOESNOT GIVE YOU THE RIGHT TO SPAM
I am sure many of you must be really disappointed by the lack of development for your device and I know this must be frustrating when we see other devices are getting ROMS so quickly. I know many are too excited when they find a little about any OTA/ Custom ROM and sharing such news is fully justified. However, it's beyond my logic & thinking why the forums are SPAMMED for any little information they might find anywhere regardless of their sources or if it has been ALREADY POSTED. I reckon many of these threads could have been avoided by simply searching in the forum.
ROM DEVELOPMENT
I can assure you that many develoeprs are working very hard to PORT and develop different ROMS for a device. However, the reason we can not see any CUSTOM roms till yet is due to complicated nature of a device itself.
Usually developers prefer a device which is :
1. Easy to work with, less complicated to code with or in other terms DEVELOPER friendly. For example, for a while I had a real issue with HTC phones as they have too many things to work with like Bootloader, S Lock, Radios, Hboot version etc while in Nexus devices you only need to unlock your device with one fastboot command. That's all and you are ready to flash ROMs.
2. Personal preference of Device. This simply means that we all have different tastes and thus we choose different devices. A certain developer might only work for a certain brand while other might work with few brands. This has nothing to do with anything but a personal choice.
3. A device that promises reward in terms of money/self satisfaction. Developers usually go for devices which have most active users so if their intention is also to get some money out of it in terms of donation, this will work well with devices which are more in number.
4. Knowledge about a certain brand more than another.
5. MONEY TO BUY A CERTAIN DEVICE/DEVICES. Suppose a developer wants to make ROMS for Xperia L/ SP/Z and Xperia U. Yet he only has 500 dollars to choose from. He then will have to make a choice between devices and this will eventually mean that not all of the devices get the same treatment. Money is the most decisive factor why a developer doesnot chose your device but rather another. For example purpose only, if I have to choose between devices, I might prefer SP over Xperia L as I can see more future of SP than Xperia L(I might be wrong).
6. Simply he bought a device or it is gifted/donated to him
SOME REQUESTS
Please STOP bugging developers by trivial questions. Just think how many other people ask the same question and it gets very frustrating to actually work on the device itself.
Every developer has a LIFE apart from developing ROMs. They also have a family, school, work, hobbies, bad days and so much like us. So they will do it when they feel like doing it. Just sit back and relax. Enjoy your device until developer releases the ROM for your device. Asking a REASONABLE question seems plausible but asking same questions/useless questions without using brains is just STUPID. Kindly refrain from that.
If you have seen a developer who has taken the initiative to work on your device , the best thing to do is to be patient. Let him concentrate. Spamming and spamming again won't help really.Yet some users start SPAMMING developers, their twitters, blogs and accounts. That's really sad. You can discuss on the forum what you think about it but IRKING developers isnot really cool.
WHAT CAN YOU DO TO HELP DEVELOPERS AND SEE CUSTOM ROMS.
1. Search the form first and look for answers. DON'T start new posts/questions/threads when it is ALREADY mentioned in some other section.
2. STOP PMing/SPAMING developers but rather ask a question WHICH havenot been asked before in the forum. Do not engage in the habit of making a new forum for everything. Try to keep threads as little as possible.
3. Follow developers and see what they have updated about on their official twitter,facebook,etc rather than bugging them on different forums/social websites.
4 DONATE THEM. DONATE THEM . DONATE THEM!
The amount of efforts they put, sitting for hours in front of their PCs and I know how frustrating it gets when you try to run commands and everything seems to work yet you can not boot up your ROM. And worse, you can not find WHY really. Just a change in line in build.prop results in failure of ROM to boot up and specially working from source to build ROM is really really tough. The best thing you can do is being supportive and patient !
A ROM development requires not just EXCESSIVE amount of hardwork, time, energy and dedication but also they need MONEY to actually buy devices and try it on. They are happy and encouraged to keep on developing ROMs when they see their efforts are not wasted and they are rewarded and respected for what they do.
SOME BASICS OF ROM DEVELOPMENT
Usually this is required to make a full custom ROM
Blobs which contain hardware information which comes from hardware manufacturer like Qualcomm in case of Snapdragon processors
A fully functional device tree
Latest Android source (Or the android version source you want to build for)
Specific Custom ROM coding which is based on Android Source
Usually a device tree and kernel tree is needed before custom roms can be made available. This is a long trial and error process in which every component of hardware is made functional as usually manufacturers do not provide any code for their devices and thus new code is to be written which is very frustrating and long process!
FAQs :
BRICKED : Two types. hard or soft.
Hard bricked is when your phone hardware information is damaged. Now it is an expensive paper weight and it would only revive if you either send it to a JTAG technician or change motherboard of your device.
Soft is when your device ROM/kernel is damaged and thus it can be easily revived.
NOOB FRIENDLY : A guide that anyone with no knowledge of android can use
TWEAKINGimprove performance by making fine adjustments to it.
BLOATWARE Useless apps which come preinstalled in a stock rom from a manufacturer.
Sometimes, developers PORTone particular feature of a phone to another. This means, a function specific to one phone can be used in another but bear in mind, the hardware should support it. Like LG has knox feature which means that you can tap on the screen to wake it up or turn off the screen. Now it is a common feature of many kernels. LG was first to introduce it officially in their stock rom but the feature is a bit old. Even Asus Zenfone 2 uses tap to wake feature.
Nice One Brother
ARGHA_DAS said:
Nice One Brother
Click to expand...
Click to collapse
I am glad this was of help to you
What's in the 'boot' partition?
Sent from my Nexus 7 using Tapatalk
AbyssBreak said:
What's in the 'boot' partition?
Sent from my Nexus 7 using Tapatalk
Click to expand...
Click to collapse
This guide should be of help
/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.
All credits to the writer Haroon Q Raja
Click to expand...
Click to collapse

Categories

Resources