Команды ADB и Fastboot: более 50 команд для управления, прошивки и обслуживания вашего Android устройства [Перечень, описание] | 4Tablet-PC

resize   true crop     q  bcfc Новости

Что такое загрузчик [продолжение] – miui помощь – mi community – xiaomi

              Всем привет, с вами как всегда
Команды ADB и Fastboot: более 50 команд для управления, прошивки и обслуживания вашего Android устройства [Перечень, описание] | 4Tablet-PC

Всем знакомо такое слово – Fastboot, но давайте изучим это слово, которое является режимом прошивки, поглубже:

        
Команды ADB и Fastboot: более 50 команд для управления, прошивки и обслуживания вашего Android устройства [Перечень, описание] | 4Tablet-PC

1. Что это? – Программатор, Образ или Программа?

На самом деле, по моими изучениями, это не программа, а программатор (для накопителей eMMC) и образ (для накопителей UFS)

• Накопители eMMC

Для данных накопителей, Fastboot, или загрузчик (объясняю так, чтоб вы поняли) является программатором, под названием appsboot.mbn, а на самом деле, этот Fastboot, называется ABOOT, или ABL, или Android Bootloader, который адаптируется, в зависимости от того, какие команды получает от PBL=Основной загрузчик (О нём попозже), то есть, если мы выполняем команду входа в Fastboot, тогда, Основной загрузчик, отправляет команду в форме кодовых блоков, к Вторичным загрузчикам (SBL) в зависимости от производителя, может быть или один, или два, или три, или четыре вторичных загрузчика, которые отправляют дальше команду к ABL. Но, ирония судьбы, в том что эти Вторичные Загрузчики, запакованы в один программатор, под названием sbl.mbn. На Xiaomi, их два в каждой прошивке, в одном программаторе, под названием sbl2.mbn Далее, ABL, принимает команду, в кодовые блоки и заходит в Fastboot.

Но, если мы выполняем Запуск телефона, тогда, получается очень интересная схема:
PBL, всегда стоит на готове, для выполнения команд, даже если телефон выключен. При нажатии кнопки питания, выполняется команда запуска, тоже в кодовые блоки. При этом, PBL дает команду запуска, далее, команду принимает  программатор SBL, который разделяется по двум загрузчикам: один для подтверждения команд, второй, для выполнения и отправки команд дальше, потом, команду, принимает ABOOT, или ABL, затем ABL принимает команду, считает её, подтверждает её и отправляет к ядру Kernel, который проверяет, подтверждает и запускает распаковку RAM диска, после чего, RAM диск, выполняет инициализацию раздела DATA, который, в свою очередь, выполняет запуск Android.

• Накопители UFS

Для данных накопителей, чуть по разному, так как ABL, является образом, а вместо SBL (Вторичный загрузчик) здесь роль передачи команд в кодовые блоки, является Образ XBL, или, он называется External Bootloader или по-русски, Внешний Загрузчик. И так, для входа в Fastboot, изначально, PBL, дает команду для входа в Fastboot, к образу XBL, XBL – это один загрузчик, который, проверяет, выполняет и передает команду в форме кодовых блоков к образу ABL, который выполняет вход в Fastboot.

   Для обычного запуска смартфона, PBL, даёт команду образу XBL, который, проверяет, выполняет и передает команду запуска к образу ABL, который, проверяет, выполняет и передает команду запуска, ядром Kernel, который, выполняет запуск образа DTBO, или Data Bootloader (загрузчик образа User Data/Раздел DATA), который, выполняет распаковку RAM Диск, далее, RAM диск, выполняет команду инициализации раздела Data, далее, производится запуск Android.

2. Почему производитель блокирует загрузчик

Производитель, блокирует загрузчик, с целью защиты телефона, от кражи или от утечек, Ваших данных, при этом, есть ещё одна причина-если не знаешь, не надо лезть, в корень прошивки, так как прошивка сделана, под директории Linux, а данная директория, очень сложная, для рядового пользователя, но, если вы Техноманьяк, вроде меня, пожалуйста, ковыряйтесь в прошивке, но производитель, не несёт ответственности, после чего, вы разблокировали загрузчик.

3. Как проходит разблокировка загрузчика на Xiaomi

Вы начали разблокировку загрузчика, через утилиту Mi Unlock. Но вам интересно, что же происходит за кулисами этого процесса ? Давайте изучаем !

Конечно, изначально, Вы должны входить под Вашем Именем в ваш Mi Аккаунт, как на телефоне, так и в утилите Mi Unlock. Потом, вводите смартфон в Fastboot и подключайте его к ПК, далее, вы кликните по кнопке Unlock и ждете, но за кулисами, происходит, данный процесс:

Изначально, проверяется какое у вас устройство, выполняются команды:

fastboot getvar product
fastboot getvar soc-id
fastboot getvar soc_id
fastboot getvar board_version

После чего проверяется, статус загрузчика (Разлочен/блокирован) выполняется одну из команд:

fastboot oem LKS или
fastboot oem device-info

Если загрузчик блокирован, тогда, утилита, получает и отправляет регистрационный код=токен, затем, проверяется если данный токен, регистрирован в Mi Аккаунт, на серверях Xiaomi. Если токен не зарегистрирован в ваш Mi Аккаунт, тогда, вам придется ждать пока регистрирует токен, потом сможете разлочить сколько раз вы хотите, в день причем. А когда проходит регистрация токена в ваш Mi аккаунт, тогда, сервера Xiaomi, генерируется код разлочки под бинарным фаилом sig.data. Далее, данный фаил шиется в образе ABL, под постоянным регистрацонным кодом, для этого, на ПК, запускается скрипт Fastboot.exe, который разблокирует загрузчик выполняется команда:

fastboot oem unlock, или команды:

fastboot flashing unlock
fastboot flashing unlock critical

После чего утилита проверяет если регистрированный токен совпадает с тем токеном, котооый регистрирован в аккауте. Если совпадают, тогда, происходит разблокировка, если нет, ждем таймер.

Далее, утилита Mi Unlock, получает результаты от устройства и отправляет их не серверах Xiaomi. После чего, перезапускается устройство, выполняется команда:

fastboot reboot.

4. Сколько типов загрузчика есть в прошивке Android. И за чео они отвечают.

Их несколько, давайте я вам их представляю:

•PBL=Primary Bootloader(Основной Загрузчик) Он отвечает за всю прошивку. В прошивке он в форме образа, под названием boot.img, что на накопители eMMC, что на накопители UFS.

•SBL=Secondary Bootloader (вторичный загрузчик) он отвечает за проверку и передачи команд от PBL. Их могут от одного, до четырех загрузчиков, которые запакованы в один программатор, под названием sbl.mbn (на Xiaomi два вторичных загрузчиков: один для проверки и выполнения команд, второй, для передачи команд к ABOOT. Данный программатор, работает только с накопителями eMMC.

•XBL= External Bootloader (Внешний Загрузчик) здесь, чуть по другому, он один проверяет, выполняет и передает команду к ABL. XBL, является образом, под названием xbl.img. данный образ, работает, только с накопителями UFS.

•ABL=ABOOT=Android Bootloader/Fastboot (Загрузчик Android) он отвечает, за запуска рекавери, за запуска системы (через ядро Kernel) за прошивки смартфона. Для накопители eMMC, ок является программатором, под названием appsboot.mbn, а для накопителей UFS, является образом под названием abl.img

•DTBO=Data Bootloader (Загрузчик раздела/образа DATA/userdata.img) он отвечает за запуска раздела/образа данных смартфона, для того, чтоб дальше запустить систему Android. Он является образом под названием dtbo.img.

P.S. Данная тема, является продолжением этой темы

В общем, вот мой опыт в знании прошивок и в изучении загрузчиков. Я думаю, вам понравится данный пост и прочитайте с интересом. А мне осталось сказать вам

Спасибо за просмотр и До Встречи в Mi Community !!!

Оцените статью
Huawei Devices
Добавить комментарий