Alguém pode explicar o processo de inicialização de um dispositivo Android?

24

Do ponto de vista do usuário ao ligar o telefone, vejo duas animações de inicialização no meu LG P500 executando o CM10. A primeira animação é da LG e a segunda é do CM10. Em seguida, ele se instala com uma tela bloqueada pronta para a minha entrada.

Alguém experiente (e gentil) pode explicar o que acontece nos bastidores (tela) durante um processo de inicialização quando um dispositivo Android está ligado? Será útil que as respostas possam ajudar um não nerd a entender vários processos e jargões (como fastboot, bootloader, recuperação, se aplicável, etc.) em relação à sequência de inicialização.

Narayanan
fonte

Respostas:

23

Você encontrará uma boa explicação, incluindo gráficos para visualizar o que está acontecendo no artigo O processo de inicialização do Android desde o início . Basicamente, as etapas são as seguintes:

  1. Execute o código ROM de inicialização. Isso é armazenado em uma área específica de hardware e mantém informações sobre onde encontrar o primeiro estágio do carregador de inicialização, que é carregado na RAM. Você pode comparar a ROM de inicialização com a BIOS no seu PC de mesa.
  2. Execute o primeiro estágio do carregador de inicialização. Em computadores desktop, isso pode ser comparado com o menu de inicialização, por exemplo, Grub / LiLo no Linux. Ele configura algumas coisas básicas e depois transforma o controle no ...
  3. O kernel do Linux, que, juntamente com o processo init, inicializa o sistema base, por exemplo, caches, sistemas de arquivos etc., e depois chama ...
  4. Zygote, que inicializa a Dalvik VM e, em seguida, inicia o ...
  5. Servidor do sistema. Agora estamos no sistema Android e configuramos todos os serviços específicos do Android, como, por exemplo, gerente de telefonia e bluetooth. Finalmente chega:
  6. Inicialização concluída - este evento será transmitido, para que aplicativos com ouvintes registrados sejam iniciados.

Para ajudá-lo a visualizar isso, aqui está a última imagem do site mencionado:

Processo de inicialização do Android

Izzy
fonte
O que é o fastboot neste contexto? Também no link2sd.info/faq, um termo inicialização rápida e inicialização real são mencionados. Presumo que a inicialização rápida seja sobre reiniciar as bibliotecas da interface do usuário, que é diferente do fastboot, embora pareça análogo. Você pode explicar isso em seu próprio estilo (e bom)?
Narayanan
4
Você está certo sobre a inicialização rápida: isso simplesmente faz o sistema voltar à etapa 5 e reinicia o servidor do sistema. O termo Fastboot, no entanto, é um pouco enganador; simplificado, ele apenas vai para a etapa 3 e aguarda os comandos (é um modo especial para atualizações de atualização / novas imagens de ROM no seu dispositivo).
Izzy