LEARN ANDROID
This page is to help you learn what you are doing to your phone by rooting, unlocking, flashing roms, recovery, and kernels.
Read all the way to the bottom, Great stuff at the end.
First things first lets look at the partitions and boot sequence of a android device. There are mainly 6 partitions in Android phones, tablets and other Android devices. Below is the list of partition for Android File System. Note that there might be some other partitions available, it differs from Model to Model. But logically below 6 partitions can be found in any Android devices.
- /boot
- /system
- /recovery
- /data
- /cache
- /misc
Also Below are the for SD Card Fie System Partitions.
- /sdcard
- /sd-ext
Please Note: Only /sdcard partition can be found in all Android devices and SD-Ext is present only in select devices.
Now that you know the different partitions of the device, you can see what can be changed on the device and what can be wiped or deleted. Example: If you wipe stock recovery and install TWRP recovery, you are just changing the recovery partition & thats it.
/boot
This is the boot partition of your Android device, as the name suggests. It includes the android kernel and the ramdisk. The device will not boot without this partition. 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
As the name suggests, this partition contains the entire Android OS, other than the kernel and the ramdisk. This includes the Android GUI and 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
This is specially designed for backup. The recovery partition can be considered as an alternative boot partition, that lets the device boot into a recovery console for performing advanced recovery and maintenance operations on it.
/data
Again as the name suggest, it is called userdata partition. This partition contains the user’s data like your contacts, sms, settings and all android applications that you have installed. While you are doing factory reset on your device, this partition will wipe out, Then your device will be in the state, when you use for he first time, or the way it was after the last official or custom ROM installation.
/cache
I hope you have some idea about cache, as you are expert on internet browsing. 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.
Android device execute following steps when you press power switch
Android Boot Sequence / Process |
2. main.c – Initializes hardware (clocks, board, keypad, console), creates Linux tagsRefer this link to know more about Android bootloader :
https://motorola-global-portal.custhelp.com/app/answers/detail/a_id/86208/~/bootloader-frequently-asked-questionsStep 3: KernelAndroid kernel start similar way as desktop linux kernel starts, as kernel launch it start setup cache, protected memory, scheduling, loads drivers. When kernel finish system setup first thing it look for “init” in system files and launch root process or first process of system.Step 4: init processinit it very first process, we can say it is root process or grandmother of all processes. init process has two responsibilities 1. mount directories like /sys, /dev, /proc and 2. run init.rc script.
- init process can be found at init : <android source>/system/core/init
- init.rc file can be found in source tree at <android source>/system/core/rootdir/init.rc
- readme.txt file can be found in source tree at <andorid source>/system/core/init/readme.txt
Android has specific format and rules for init.rc files. In Android we call it as “Android Init Language”
The Android Init Language consists of four broad classes of statements,which are Actions, Commands, Services, and Options.
Action : Actions are named sequences of commands. Actions have a trigger which is used to determine when the action should occur.
Syntax
on <trigger>
<command>
<command>
<command>
Service : Services are programs which init launches and (optionally) restarts when they exit. Syntax
service <name> <pathname> [ <argument> ]*
<option>
<option>
…
Options : Options are modifiers to services. They affect how and when init runs the service.
Let’s take a look of default init.rc file. Here I have listed only major events and services.
Action / Service | Description |
on early-init | Set init and its forked children’s oom_adj. Set the security context for the init process. |
on init | setup the global environment Create cgroup mount point for cpu accounting and many |
on fs | mount mtd partitions |
on post-fs | change permissions of system directories |
on post-fs-data | change permission of /data folders and sub folders |
on boot | basic network init ,Memory Management ,etc |
service servicemanager | start system manager to manage all native services like location, audio, shared preference etc.. |
service zygote | start zygote as app_process |
At this stage you can see “Android” logo on device screen.
Step 5: Zygote and Dalvik
1. Load ZygoteInit class,
Source Code :<Android Source> /frameworks/base/core/java/com/android/internal/os/ZygoteInit.java
2. registerZygoteSocket() – Registers a server socket for zygote command connections
3. preloadClasses() – “preloaded-classes” is simple text file contains list of classes that need to be preloaded, you cna find “preloaded-classes” file at <Android Source>/frameworks/base
4. preloadResources() – preloadReaources means native themes and layouts, everything that include android.R file will be load using this method.
Step 6: System Service or Services
Other services
Step 7 : Boot Completed
Once System Services up and running in memory, Android has completed booting process, At this time “ACTION_BOOT_COMPLETED” standard broadcast action will fire.
/system/xbin/su
) and granting it executable permissions with the chmod command. A supervisor application like SuperUser or SuperSU can regulate and log elevated permission requests from other applications. Many guides, tutorials, and automatic processes exist for popular Android devices facilitating a fast and easy rooting process.
I would like to know more about the frp with alcatel phones
If im understanding you correctly , you bought the phone straight out and want to unlock it?..this past winter I was in the same position so I called cricket, and had no problem at all. I was told if you service is with cricket you have to wait 90 days. In your case like mine it is not necessary the phone is paid yours..
Hey RJ, myself Rjprabhakar and I’m having issue in my Moto X-Play between I’m your big fan since 2 yrs and will watch all of your youtube videos. Actually I’m here to ask you that do you know something about ear speaker problems while loud speaker is working fine. If you had been through this just reply me. Happy to be your fan!!
Thank you!!
RJ PRABHAKAR
I’m trying to google bypass Alcatel pixi 3. Bought in paw. Shop plz help
How can I get pass entering a Google Account that was previously on the RCA Viking 2 Tablet (ANDROID) I purchased at a pawn shop?
How can I get pass entering a Google Account that was previously on the RCA Viking 2 Tablet (ANDROID) I purchased at a pawn shop?
I have a samsung j700T for T-Mobile and I can’t seem to bypass google bc it tells me due to security reasons that has been disabled. Any idea if it’s possible to bypass that?
Unlock lg Google password
RESPECT, and thank you very much this site kicks ass
Hi I’ve been fascinated with the frp workaround methods, especially for LG. Anyway I was stumped w/ G vista 6.0.1 Verizon as the usual accessibility menu wasn’t there and every attempt at long pressing a legal bit resulted with a cursor but no keyboard. I’ve found that working all the way through the accesibility tutor at the beginning (long press language selection to kick it off) and one of the last lessons will allow a peak into settings from there I did have to download an apex launcher and access set up wizard from the apex home screen but that was absolutely it. Let me know if you want me to share some other discoveries… lg Leon lg k7 lg vista, I’d love to know if this helps