Может кто-нибудь объяснить процесс загрузки устройства Android?

24

С точки зрения пользователя, когда я включаю телефон, я вижу две анимации загрузки в моем LG P500 с CM10. Первая анимация от LG, а вторая от CM10. Затем он устанавливается с заблокированным экраном, готовым для моего ввода.

Может ли кто-то достаточно знающий (и добрый) объяснить, что происходит за сценой (экраном) во время процесса загрузки, когда устройство Android включено? Будет полезно, если ответы могут помочь неопытному понять различные процессы и жаргоны (такие как fastboot, bootloader, recovery, если применимо и т. Д.) Относительно последовательности загрузки.

Нарайанан
источник

Ответы:

23

Вы найдете хорошее объяснение, включая графику, для визуализации происходящего в статье Процесс загрузки Android при включении питания . В основном, шаги следующие:

  1. Выполните загрузочный код ПЗУ. Это хранится в аппаратной области и содержит информацию о том, где найти первый этап загрузчика, который затем загружается в ОЗУ. Вы можете сравнить Boot ROM с BIOS на вашем настольном ПК.
  2. Выполните первый этап загрузчика. На настольных компьютерах это можно сравнить с меню загрузки, например, Grub / LiLo в Linux. Он устанавливает некоторые основные вещи, а затем превращает управление в ...
  3. Ядро Linux, которое вместе с процессом init инициализирует базовую систему, например, кеши, файловые системы и т. Д., А затем вызывает ...
  4. Zygote, который инициализирует Dalvik VM, а затем запускает ...
  5. Системный сервер. Теперь мы находимся в Android-системе и настраиваем все специфичные для Android сервисы, такие как, например, менеджер телефонии и Bluetooth. Наконец приходит:
  6. Загрузка завершена - это событие будет транслироваться, поэтому будут запущены приложения, имеющие зарегистрированных слушателей.

Чтобы помочь вам визуализировать это, вот последнее изображение с упомянутого сайта:

Процесс загрузки Android

Иззи
источник
Что такое fastboot в этом контексте? Также в link2sd.info/faq упоминается термин быстрая загрузка и реальная загрузка. Я предполагаю, что быстрая загрузка - это перезапуск библиотек пользовательского интерфейса, который отличается от fastboot, хотя и выглядит аналогично. Можете ли вы объяснить это в своем (и хорошем) стиле?
Нараянан
4
Вы правы в отношении быстрой загрузки: это просто возвращает вашу систему к шагу 5 и перезапускает системный сервер. Однако термин Fastboot вводит в заблуждение; упрощенно сказал, он просто переходит к шагу 3 и затем ждет команды (это специальный режим для обновления обновлений / новых образов ПЗУ на вашем устройстве).
Иззи