Android boot process

(This is a stub)

Android's boot up process is summarized below:

Stage Steps Comments
Boot-loader - Location: bootable\bootloader\legacy\usbloader
init.S Initializes stacks, zeros the BSS segment, call _main() in main.c
main.c Initializes hardware (clocks, board, keypad, console), creates Linux tags
Displays "USB FastBoot". Boot from flash, or loops while usb_poll() awaits host PC connection
Linux kernel - Sets up the system, loads drivers, and starts running the first process init
The init process Setup file system Create and mount directories like /dev, /proc, /sys
Execute init.rc This is the boot-up script, commands are using Android-specific syntax, see readme.txt
Setup console
Display "A N D R O I D" This is just a text msg written to /dev/tty0
Zygote Zygot process in init.rc brings up Dalvik Java VM and starts the system server
bootanimation Shows the animation during boot-up
Framework …. ….


Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License