El proceso de arranque del sistema embebido es similar al del PC desde el nivel de visión general, pero ligeramente diferente del nivel microscópico.
Aquí está el proceso de arranque de un dispositivo Android:
-
PC-BIOS/BootMonitor, MBR y GRUB/LILO etc. están todos combinados en uno Boot Strap Firmware
llamado Bootloader
. Su init.S
inicializa las pilas, pone en cero el segmento SRS y llama a _main() en main.c
. El main.c
inicializa el hardware (relojes, placa, teclado, consola) y crea etiquetas de Linux que a su vez carga la imagen del Kernel de Linux en la memoria.
-
El Kernel de Linux configura el sistema, carga los drivers y comienza a ejecutar el primer proceso init
.
-
El init
proceso implica la configuración del Sistema de Archivo (puntos de montaje de /sys
etc son creados en este punto) y la ejecución de init.rc
.
-
La ejecución de init.rc
: Es el arranque script que utiliza Sintaxis específica de los Androids . Zygot
El proceso en el init.rc trae a colación Dalvik VM
e inicia el servidor del sistema.
Todo esto sucede antes de que se muestre la animación de la bota.
Para más detalles de los procesos, vea este artículo: http://www.androidenea.com/2009/06/Android-boot-process-from-power-on.html