有人可以说明Android设备的启动过程吗?


24

从打开手机时的用户角度来看,我在运行CM10的LG P500中看到两个启动动画。第一个动画来自LG,第二个动画来自CM10。然后,它会出现锁定屏幕,供我输入。

有足够知识(和善良)的人可以解释在启动android设备时在启动过程中幕后发生的事情吗(屏幕)?如果答案可以帮助非极客了解有关引导顺序的各种过程和术语(如fastboot,bootloader,recovery,如果适用等),将很有帮助。

Answers:


23

您将在文章《从开机启动Android的过程》一书中找到很好的解释,包括图形以直观地了解发生了什么。基本上,步骤如下:

  1. 执行Boot ROM代码。它存储在特定于硬件的区域中,并保留有关在哪里找到引导加载程序的第一阶段的信息,然后将其加载到RAM中。您可以将Boot ROM与台式机中的BIOS进行比较。
  2. 执行引导加载程序的第一阶段。在台式计算机上,可以将其与启动菜单进行比较,例如Linux上的Grub / LiLo。它设置了一些基本的东西,然后将控制权转到...
  3. Linux内核将与init进程一起初始化基本系统,例如缓存,文件系统等,然后调用...
  4. Zygote,它初始化Dalvik VM,然后启动...
  5. 系统服务器。现在我们进入了Android系统,并设置了所有特定于Android的服务,例如电话管理器和蓝牙。终于来了:
  6. 启动完成-将广播此事件,因此将启动在其上注册了侦听器的应用程序。

为了使您形象化,这是上述站点的最后一张图片:

Android启动过程


在这种情况下,fastboot是什么?在link2sd.info/faq中提到了快速启动和实际启动。我认为快速启动是关于重新启动UI库,这与fastboot不同,尽管它看起来很相似。您能以自己(和好的)风格来解释吗?
Narayanan 2012年

4
您对快速启动是正确的:这只是将系统踢回到步骤5,然后重新启动系统服务器。但是,术语“ Fastboot”有点误导。简而言之,它只执行第3步,然后等待命令(这是将更新/新ROM映像刷新到设备的特殊模式)。
伊齐
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.