Стандартный процесс загрузки ОС Android выглядит так (из документации):
Но у меня есть трудности с пониманием процесса загрузки, подготовки к перепрошивке (как я встретил его при перепрошивке прошивок мобильных телефонов Galaxy Tab и MTK)
Не могли бы вы помочь мне найти положение этих инструментов на этой диаграмме:
1) Код, который показывает логотип (или заряд батареи в процентах при включенном кабеле питания) и реагирует на USB (когда телефон выключен, но батарея внутри)? Где это ? Он должен быть расположен перед Boot ROM - но как вы его называете?
2) кто отвечает ручкой "вкл + громкость вниз" для перехода в меню "загрузка" ? BootRom или загрузчик?
3) "прелоадер" как он там позиционируется? (Я не уверен, что понимаю, что такое прелоадер).
4) тврп? фастбут? odin3 они заменяют Dalvik или его запускают? twrp сам по себе выглядит как полноценная ОС.
Процесс загрузки устройств Android до уровня ядра сильно зависит от поставщика, конкретного устройства и содержит в основном закрытый исходный код. Вы можете увидеть явные отклонения в используемых терминах и различия в их реализации. Здесь я даю простое понимание.
Когда зарядное устройство вставлено, устройство загружается очень похоже на нажатие кнопки питания, за исключением того, что загружается очень ограниченная ОС.
Устройство загружается нормально до init
стадии (данной в пункте 4). init
, вместо запуска служб из /system
разделов /vendor
и запускает процесс: /sbin/charger*
который не является частью AOSP. Двоичный файл зарядного устройства обычно имеет закрытый исходный код и различается для разных устройств. Он может загружать некоторые изображения / анимации, хранящиеся в некоторых разделах, специально предназначенных для этой цели.
Кроме того, некоторые OEM-производители позволяют включать/выключать off-mode-charge
управление fastboot
поведением устройства, т. е. следует ли включать устройство при подключении питания или нет. Но это также не стандартная функция и зависит от устройства.
fastboot
режим и т. Д., Восстановление или обычное ядро.odin
/ fastboot
)/system
и /vendor
разбиваются init
(Zygote/Dalvik — один из них).Так odin
(специфично для Samsung) и fastboot
представляют собой два независимых протокола для связи с устройством через USB для форматирования разделов, прошивки заводской прошивки, (раз) блокировки загрузчика и т. д. Хотя TWRP
это минимальная ОС, которая загружается вместо обычной boot.img
(обычно с использованием того же ядра) в случае, если Android не может загрузиться или требует обновления OTA или некоторых модификаций / обслуживания.
Ни один из них не может быть связан с Dalvik
, они зависят от аппаратного обеспечения и выполняются на этапе до ядра или ядра. Хотя zygote
— часть AOSP — это процесс полностью пользовательского пространства, который создает виртуальную машину Dalvik для каждого приложения.
Подробнее: Процесс загрузки: Android и Linux