Tuesday, 19 May 2015

Things you Should know about your Android - 1.

Android Versions (2009 - 2015)
Android phones have really become common because of the functions they provide, because of the updates that are provided  & because of the huge App store that we have :)
Another reason for the popularity of this OS is because it's Open Source (i.e the source code is released by google), hence it being a playground for developers to MOD (modify) the OS.

But how many of us are actually aware of the little basics about our phone ?

Here is an attempt by me to make you aware of few basic things or terms used in the Android community.


1.FIRMWARE :- In the past all electronic gadgets used to have a Micro-controller with a program on it which was specific to the device and was never upgraded. This so called 'embedded  systems' had this software known as FIRMWARE.

2.ROM :- ROM basically means Read Only Memory i.e. you can read but cannot write/modify the Contents. Mobile developers used to develop software for the phones and this software was nothing to do with the user [user was not having access to modify], so people used to call that software a ROM image. This continued and still people call the Mobile software or OS as ROM.


3.STOCK ROM :- The ROM image provided by the company for that particular device is called STOCK ROM. This ROM is usually is digitally signed by the company. The STOCK ROM are usually very stable, but consume a lot of space and have many system apps which are unnecessary [known as bloatware].


4.CUSTOM ROM :- This is basically the Modification of the Stock ROM, developers remove the bloatware, give themes, change the usage of the RAM, Improve battery etc. Since the custom ROM are developed by people, stability is a big issue. Updates depend on whether the developer will work on it or not. There might be lot bugs or none [depending on developer].

Example:- CyanogenMod, a well recognized ROM made by quiet a good developers is well know for its stability and extra functions. [It's updated frequently because of vast community of developers working for cyanogenMod]

5.ASOP :- About 1-2 times a year, the vanilla Android operating system (known as AOSP, or the Android Open Source Project) is internally developed, then released to the public, by Google. They provide the source code to anyone who wants to download it, the ASOP is used to make device specific STOCK ROM.


6.OTA :- Over-the-Air, transmitted via Wi-Fi or mobile network, as opposed to downloaded to the phone via USB cable (e.g. OTA update).

OTA update is available even if we unlock bootloader or root phone. Phone is eligible for OTA update from company till no modification is done to system files :)

7. BRICK :- a device that no longer functions, generally caused by a failed firmware or SPL update. Since the device no longer works as intended, it is often referred to as a "brick" or "paper-weight", since that is all it is good for.


8.BOOTLOADER :- The "bootloader" is the name of the program that first loads when you press the "on" button (or power button) on your device. It helps to load the Kernel file, Ramdisk and the main android OS.  

A "locked bootloader" has a restriction on what it will load based on digital signatures given by manufactures. Bootloader's are locked for security reasons, we cannot install custom OS or Modify the system until the bootloader is locked.
Unlocking the bootloader is possible through the use of the fastboot tool, available for free via the android sdk, and causes an immediate wipe of user data, to prevent an attacker from using this same tool to gain access to user data.
Unlocking Bootloader voids the manufacture's warranty. 
Locked Bootloaders only allow the official system images signed by Manufacturer, hence OTA is available even when Bootloader is Locked :)
Many developers of free and open general-purpose computers look at locked bootloaders as a kind of "system bug" or design flaw, because they restrict the freedom of the owner of the device to replace the operating system with one which may be newer, better, faster, more secure, etc. 

9.KERNEL :- Kernel is a file which is written in a low level programming language, it is the file which has the information about the device processor. Kernel file establishes the connection between the OS and the processor, its a link between hardware and software.

Google writes the OS in general and not device specific, so Kernel is something each Device manufacturer must provide. Changes in Kernel results into change in voltages, current flow etc, hence MOD of Kernel is the most Risky job and might lead to a Hard Brick.
KERNEL are device specific. SO DON'T USE ANY KERNEL AVAILABLE, IT MAY BRICK YOUR DEVICE.

10.FASTBOOT MODE :- Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in Android devices).It is an alternative to the Recovery Mode for doing installations and updates.

While in fastboot, you can modify the file system images from a computer over a USB connection. Fastboot mode can start on your device even before Android loads, even under the circumstance when Android isn’t installed at all. And because of that, fastboot mode is useful for quick-updating the firmware, without having to use a recovery mode. In fact, it’s the preferred way to initially install the recovery image. 
It can also be used for developer operations. Things like erasing partitions and overriding kernel command line options can be done.

11.RECOVERY MODE :- Recovery is a limited boot mode, independent of your normal Android operating system. In recovery, you can backup, restore, install packages, wipe data, and do limited troubleshooting of Android. The feature set available depends on the specific recovery installed. In general, stock recoveries (which come pre-installed on your device) are the most limited. They typically only allow manufacturer updates to be performed and remain mostly invisible to the end user.

Examples :- CWM [clock work mod], TWRP [Team Win Recovery Project] etc.

12.FLASHING :- The process of applying a firmware image (or ROM) to a device. It generally entails a very specific order of steps.


13.ROOTING / ROOT ACCESS :- Obtaining root ("administrator", or "full") access to the device. This means you can mount its internal memory partition as read/write, which lets you do various things: have USB or Wi-Fi tethering, uninstall applications you otherwise can't uninstall, install applications that need root access, disable the camera shutter sound (simply by deleting the shutter sound file), overclock or underclock the CPU, install and boot Debian, and so on. Installing CyanogenMod roots the device in the process. The "Superuser" app controls what applications may gain root privileges.



  • So now first step for any user is to unlock the bootloader, which gives us a access to modify system. Now user can get the root access and use STOCK ROM or flash a Custom Recovery. Using Custom Recovery we can flash any ROM that we want.
  • Basically Fastboot mode helps us flash the Recovery Image or STOCK ROM. Recovery helps us with the rest.
  • Your Phone may not switch on, may stuck at logo, may not show anything this situation is called as soft brick.
  • Till the time fastboot mode is accessible there is no need to worry. Phone can be recovered through fastboot mode.

If nothing is shown or accessible on the phone then it's probably hard brick :-P

FOR SECOND POST ON BASICS OF ANDROID CLICK HERE.

Follow the blog, 
Hit like on the Facebook page and stay tuned :)
Comments are welcomed :)
Thank You.