Tuesday 19 May 2015

BASICS OF ANDROID

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

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

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

                       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.

                      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.

                          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.

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

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

                       ROOTING
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

No comments:

Post a Comment