First, Boot ROM
- Loads the BootLoader into RAM and starts executing.
- Start up and find the system kernel.
- Bootloader is a place where manufacturers put their locks
- Detects external RAM
- Setups the network, memory … etc, which requires to run Kernel.
- Setup cache
Starts kernel daemons
Mounts root file system
Initializes process table ……
- Looks for “init” in system files
- Launch root process
Forth, Init (user space)
- Mounts directories like /sys, /dev or/proc
- Runs /init.rc script. The init.rc is responsible for the initial set up of the system.
Fifth, (Android) Zygote:
- VM process that starts as the system boots
- app_process launces Zygote
- Load a native library called android_servers