[Nexus 5 Q&A, Help & Troubleshooting] abaaaabbbb63:
[FAQ] [REF]★ All you need to know about Android | Read this before you post/root ! ★

Understanding the Android world before rooting your LG Nexus 5

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.

Contents

Post 1:

★What does rooting mean?

★The advantages of rooting

★The disadvantages of rooting

★What about the internal memory? How does that work?

★Things you hear people talk about

★How to backup your stuff

★Flashing a custom ROM

★ADB and Fastboot

★Restoring your Nexus 5 to STOCK

Post 2:

★Tips and Tricks

★Questions and Misconceptions

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. Android is, in fact, based on Linux.

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.

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.

-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 5 will have 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!

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)

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 5's case, it's either 16GB or 32GB. This internal memory needs to hold a lot of things, not only your personal data. This is why you only have available to use 12.9 GB or 28 GB.

An Android's internal memory is partitioned into many chunks that have their separate purposes.

These are all the Nexus 5's partitions, and their names.

/dev/block/platform/msm_sdcc.1/by-name/system /system
/dev/block/platform/msm_sdcc.1/by-name/userdata /data
/dev/block/platform/msm_sdcc.1/by-name/cache /cache
/dev/block/platform/msm_sdcc.1/by-name/persist /persist
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware
/dev/block/platform/msm_sdcc.1/by-name/boot /boot
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery
/dev/block/platform/msm_sdcc.1/by-name/misc /misc
/dev/block/platform/msm_sdcc.1/by-name/modem /radio
/dev/block/platform/msm_sdcc.1/by-name/sbl1 /sbl1
/dev/block/platform/msm_sdcc.1/by-name/tz /tz
/dev/block/platform/msm_sdcc.1/by-name/rpm /rpm
/dev/block/platform/msm_sdcc.1/by-name/sdi /sdi
/dev/block/platform/msm_sdcc.1/by-name/aboot /aboot
/dev/block/platform/msm_sdcc.1/by-name/imgdata /imgdata

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 12.9GB, or 28GB

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 5 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.

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

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 will be many custom ROMs for the Nexus 5, 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.

Dalvik Cache

Android is an open source OS, which supports many different architectures. While it's mainly used in the ARM architecture, it could run on x86. Even with in the ARM there are still some variations. Just like in x86, there are many extensions and SSE is an example of that; ARM is no different and there are some variations from one ARM CPU to another. Dalvik is basically a VM(Virtual Machine) engine, this keep the apps to be universal across many architecture. While this is good, this costs processing power. Meaning, if the apps have to run through VM everytime, they will be very slow. Dalvik cache is basically cache of those apps that's already gone through the VM thus it doesn't require to go through the VM everytime. And when an app run, it run from this version instead. Since each ROM may contain different version of app or optimization or even different kernel or Android version, using dalvik cache from different ROM can get you into trouble. Think of it like trying to run application designed for Windows XP on Windows 7 or Windows 8. It may work, it may not work, or it may even crash. Wiping the Dalvik cache will force the Android OS to optimize all the installed apps all over again.

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 necessary)

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 accessed with a root file explorer, like ES File Explorer : mnt/shell/emulated/clockworkmod/backup or sdcard/TWRP. 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.

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 :D. 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 :D. 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" for CWM, or "Restore" for TWRP. 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://xdaforums.com/showthread.php?t=1726238)

You have to give as many details as possible, so the developer can sort things out.

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:

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.

Fastboot is also a very easy method of bricking your phone. Always make sure you are flashing the right files for your phone. Furthermore, fastboot is not the preferred method for recovering your phone. It is the last resort. ADB and/or recovery is much easier and safer.

Example of Fastboot commands:

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/

Restoring your Nexus 5 to STOCK​

I moved the whole guide here:

http://xdaforums.com/showthread.php?t=2513701

Check it out.

Now please proceed to the next post​