Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

Possible Duplicate:
Can somebody explain the boot process of an Android device?

Windows follow some specific way to boot: Start System > BIOS > Load Boot loader > Load WIN Kernel > Load WIN Shell > User > Application.

How does the typical Android boot process work? When comes the "Dalvik VM" into play?

share|improve this question

marked as duplicate by Izzy, Sachin Shekhar, roxan, Zuul, Flow Sep 30 '12 at 12:35

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

add comment

1 Answer 1

up vote 7 down vote accepted

Boot process of embedded system is similar to PC from overview level, but slightly different from microscopic level.

Here's the boot process of an Android device:

  1. PC-BIOS/BootMonitor, MBR and GRUB/LILO etc are all combined in one Boot Strap Firmware called Bootloader. Its init.S initializes stacks, zeros the BSS segment and calls _main() in main.c. The main.c initializes hardware (clocks, board, keypad, console) and creates Linux tags which in turns loads Linux Kernel image in memory.

  2. Linux Kernel sets up the system, loads drivers and starts running the first process init.

  3. The init process involves setup of File System (mount points of /sys etc are created at this point) and execution of init.rc.

  4. Execution of init.rc: It is boot-up script which uses Android-Specific syntax. Zygot process in init.rc brings up Dalvik VM and starts the system server.

All these are happened before Boot Animation is displayed.

For more details of processes, check out this article: http://www.androidenea.com/2009/06/android-boot-process-from-power-on.html

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.