This article will stand on high level to scan initialization modules.
User press power key ……
First, Boot ROM
- Loads the BootLoader into RAM and starts executing.
Second, BootLoader
- Start up and find the system kernel.
- Bootloader is a place where manufacturers put their locks
and restrictions.
- Detects external RAM
- Setups the network, memory … etc, which requires to run Kernel.
Third, Kernel
- Setup cache
Protected memory
Scheduling
Loads drivers
Starts kernel daemons
Mounts root file system
Initializing Input/Output
Starts interrupts
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
Sixth, SystemServer
- Load a native library called android_servers
ref. for Android: https://maoao530.github.io/2017/01/06/android-start/
refs.
https://blog.csdn.net/a4262562/article/details/76779236
https://danielmaker.github.io/blog/linux/start_kernel.html
https://cjworld1208.pixnet.net/blog/post/8014497
http://embeddedvenkatpari.blogspot.com/2016/05/how-to-load-firmware-using-pil.html?m=1
https://www.twblogs.net/a/5b8d19262b717718833b2c22
http://albert-oma.blogspot.com/2016/07/embedded-u-boot.html?m=1