The Android bootup process begins with the boot ROM code loading the first stage boot loader into RAM. The first stage boot loader then loads the main boot loader and external RAM is set up. The main boot loader loads the Linux kernel into RAM along with boot parameters. The Linux kernel initializes the system and launches the init process. The init process then launches the system services like the Zygote process and system server to finish booting up the device.