Как получать OTA-обновления на рутированном Xiaomi Mi A2 с помощью Magisk

Применение OTA-обновлений к укоренившемуся Xiaomi Mi A2 может быть большой головной болью, так как это может повлечь за собой отмену рутирования вашего устройства и прохождение всех этапов для его рутинга. К счастью, есть способ установить Magisk, который поддерживает обновления OTA.

Поэтому, если вы хотите получить root права на Xiaomi Mi A2, имея возможность применять OTA-обновления без рутирования вашего устройства, внимательно следуйте нашему простому руководству ниже.

Требования:

  •  ADB и Fastboot (см. Руководство по применению Как установить ADB в Windows)
  • MiFlash Tool

Во-первых, вам нужно разблокировать загрузчик — но вы должны быть очень осторожны, а также знать, что в последнее время программа разблокировки загрузчика Xiaomi стала очень медленной. Получение кода разблокировки загрузчика может занять несколько недель. Вы также должны знать о ARB (механизм защиты от отката) в устройствах Xiaomi.

Если загрузчик вашего устройства уже разблокирован, отлично! Мы можем продолжить.

Перейдите в «Настройки»> «Система»> «О телефоне»> нажмите «Build Number» 7 раз, пока режим разработчика не будет разблокирован.

Теперь перейдите в «Настройки»> «Параметры разработчика»> «Включить разблокировку OEM».

Теперь выключите ваше устройство и удерживайте кнопку громкости + кнопка питания. Отпустите кнопки при входе в меню быстрой загрузки.

Подключите ваш Xiaomi Mi A2 к вашему ПК через USB и запустите терминал ADB (удерживая Shift + правый клик в основной папке ADB, и выберите «Открыть окно команд здесь»).

В терминале ADB введите следующую команду: fastboot oem unlock

Это перезагрузит ваш телефон и сотрет все ваши данные при разблокировке загрузчика.

Установка Magisk

Загрузите и установите последнюю версию Magisk Manager APK на свой телефон.

Теперь загрузите пропатченный boot.img из следующих загрузок — в качестве альтернативы мы покажем вам, как самостоятельно пропатчить оригинальный boot.img в списке загрузок boot.img.

При загрузке пропатченного boot.img вы должны быть полностью уверены, что он содержит тот же номер сборки, что и вы. Поэтому, прежде чем продолжить, проверьте свой номер сборки в меню «Настройки»> «О телефоне», и не прошивайте файл прямо в память телефона, потому что Magisk не будет работать должным образом. Следуйте нашим инструкциям очень внимательно и точно так, как они написаны.

 Вы должны загрузить пропатченный boot.img в папку ADB на вашем ПК.

  • patched_boot 9.6.4.0 (обновление от 2018 года) — исправлено с помощью Magisk 17.1
  • patched_boot 9.6.6.0 (обновление за август 2018 года) — исправлено с помощью Magisk 17.1
  • patched_boot 9.6.8.0 (обновление от 2018 года) — исправлено с помощью Magisk 17.1

Если вы случайно перепрограммировали неправильный boot.img, вы можете прошить оригинальный boot.img из списка ниже:

  • оригинальный boot.img 9.6.4.0 (обновление от 2018 года) — взято из fastboot ROM
  • оригинальный boot.img 9.6.6.0 (обновление за август 2018 года) — взят из обновления OTA
  • оригинальный boot.img 9.6.8.0 (обновление от 2018 года) — взят из обновления OTA

Имейте в виду, что если вы делаете патч boot.img вручную, вам понадобится ваш оригинальный boot.img — вы можете найти его в официальном zip-файле fastboot ROM для ромашки. Но убедитесь, что загруженная версия ПЗУ имеет тот же номер сборки, что и на вашем телефоне. Так что либо загрузите оригинальный boot.img с тем же номером сборки, что и ваш телефон, либо обновите / понизьте версию.

После того, как у вас есть оригинальный boot.img (извлеченный из официального zip-файла fastboot ROM), вам необходимо скопировать его на телефон внешняя память (SD Card).

Теперь откройте приложение Magisk Manager, и оно спросит, хотите ли вы установить Magisk — примите установку, затем «Patch Boot Image File» и выберите файл boot.img, который вы перенесли.

Процесс должен занять около 1 минуты, поэтому закройте его, когда закончите. В памяти вашего телефона в каталоге Download вы найдете файл «patched_boot.img», который вам нужно перенести на ваш компьютер. Поместите его в свою основную папку ADB.

Теперь перезагрузите ваше устройство в режиме Fastboot (помните, Power + Volume Down) и запустите терминал ADB на вашем ПК.

В терминале ADB введите следующую команду: fastboot boot patched_boot.img

Теперь ваш телефон должен загрузиться нормально. Когда вы вернетесь в систему Android, откройте приложение Magisk Manager, и оно попросит еще раз установить Magisk. Далее выберите «Установка»> «Прямая установка» и перезагрузите компьютер после завершения.

Теперь в качестве меры предосторожности для будущих обновлений OTA перейдите в Настройки> Система> Параметры разработчика> отключить автоматические обновления системы. Вам следует только установить OTA-обновления вручную. Никогда не разрешайте автоматическое OTA на рутованном устройстве Android.

Как применять будущие OTA-обновления

 Обратите внимание, что OTA-обновления будут работать только в том случае, если все разделы на устройстве не тронуты! Magisk может восстановить ваш оригинальный boot.img, но если вы каким-либо образом изменили раздел / system, например, вручную отредактировали build.prop, OTA откажется от установки.

Вы можете попытаться применить OTA-обновления без необходимости прошивки всего исходного ПЗУ fastboot, если вы перепрограммируете только измененные разделы, например, перепрограммируете только раздел / system из исходного ПЗУ fastboot, используя соответствующий файл .img из исходного ПЗУ .zip файл.

Поэтому, когда станет доступно новое OTA-обновление, которое вы хотите установить, вам нужно запустить Magisk Manager и нажать «Удалить> Восстановить образы», ​​но пока не перезагружать устройство.

Закройте Magisk и зайдите в «Настройки устройства»> «Система»> «Обновление системы» и установите обновление OTA. Когда обновление загрузится, начнется двухэтапное обновление. Мы рекомендуем положить чашку кофе и, возможно, насладиться быстрой игрой Madalin Stunt Cars 2 или попробовать себя в «Невозможной викторине» (удачи!)

После завершения этапов обновления будет предложено перезагрузить. Не перезагружайте ваше устройство. Запустите Magisk Manager еще раз, затем нажмите «Установить»> «Установить»> «Установить в неактивный слот» (после OTA), и только после этого вы сможете выполнить процедуру перезагрузки.

После перезагрузки Xiaomi Mi A2 у вас должна появиться обновленная версия Android с неактивным Magisk.

Поиск проблемы

Примечание. Прежде чем приступить к выполнению любой из этих операций, вам необходимо отключить все средства защиты экрана, которые у вас есть на вашем устройстве (блокировка экрана, PIN-код, пароль, отпечаток пальца и т. Д.), Поскольку вы рискуете вызвать проблемы с шифрованием ваших данных. Настоятельно рекомендуется сначала создать резервную копию.

Если вы не следовали этому руководству тщательно, вы можете столкнуться с некоторыми проблемами.

Когда будет найдена новая версия, программа обновления проверит, не повреждены ли все разделы на устройстве. Если есть раздел, который был изменен, программа обновления OTA не продолжит установку;

Как правило, два раздела, обычно изменяемые пользовательским моддингом, — это загрузочный раздел (в котором установлены Magisk и TWRP) и системный раздел (когда вы изменяете файл конфигурации, добавляете или удаляете системное приложение и т. Д.)

Системный раздел, измененный только с помощью модулей Magisk, фактически не затрагивается, поскольку Magisk регистрирует все изменения в / system в файле в разделе / ​​data, а затем обманывает Android, чтобы убедиться, что эти изменения действительно применяются к / system;

Вместо этого загрузочный раздел действительно изменен, но если вы установите Magisk, следуя этому руководству, Magisk сохранит копию нетронутого загрузочного раздела и восстановит ее, прежде чем применять OTA-обновление.

Теперь, если вы не следовали этому руководству для установки Magisk и устанавливали его другими способами, Magisk может предупредить вас, что не может восстановить исходный boot.img (загрузочный раздел), когда вы пытаетесь применить OTA-обновление.

Чтобы это исправить, вы можете напрямую прошить ванильный (оригинальный, неизмененный, нетронутый) boot.img, взятый из пункта 6 этого руководства, используя следующие команды:

fastboot getvar current-slot
fastboot flash boot_? boot.img

Первая команда скажет вам, какой текущий слот используется ( или же б), вторая команда высветит оригинальную загрузку в телефон, но вы должны изменить «?» в команде с  или же б (т.е. текущий слот, предоставленный первой командой).

Помните, что версия файла boot.img должна соответствовать версии сборки Android, которая в данный момент работает на вашем телефоне.

Если обновление OTA все равно откажется от применения, возможно, вы что-то изменили непосредственно в разделе / ​​system (например, вы изменили что-то в build.prop, не используя для этого модуль Magisk).
В этом случае вам нужно прошить оригинальный system.img в телефоне с помощью следующих команд:

fastboot getvar current-slot
fastboot flash system_? system.img

и, как и прежде, первая команда сообщит вам правильный слот для использования вместо «?» во второй команде.
Здесь вы можете найти system.img, извлеченный из архива OTA-обновлений (вместе с каждым другим файлом .img внутри него):

  • 9.6.8.0 (сентябрь 2018 г.). Дамп обновления OTA в виде файлов .img.
  • 9.6.6.0 (август 2018 г.). Дамп обновления OTA в виде файлов .img.

Если вы хотите получить system.img самостоятельно, вы можете найти его внутри образов fastboot, но обычно они не обновляются ежемесячно, как OTA-обновления. Но вы можете извлечь system.img непосредственно из почтовых индексов OTA, найденных в этой теме, используя скрипты Python, найденные здесь.

Чтобы скрипты Python работали в Debian / Ubuntu и его производных, вам нужно скачать и «extract_android_ota_payload.py», и «update_metadata_pb2.py», дать им свойство выполнения и затем установить пакет «python-protobuf». После этого вы можете дать команду распаковать файл payload.bin (который вы должны извлечь из почтового индекса OTA-обновления):

./extract_android_ota_payload.py /path/to/payload.bin

Это извлечет в текущем каталоге все файлы .img внутри payload.bin, включая system.img
Я не знаю, как действовать в Windows, возможно, вам нужно только установить последнюю версию Python2, и скрипт будет работать.

В крайнем случае вы можете прошить MiFlash напрямую самым последним доступным образом быстрой загрузки (даже если он старше вашей текущей версии). Использовать «flash_all.bat», Но прежде чем делать резервную копию ваших данных, потому что телефон будет полностью перезагружен.

Если вы не хотите рисковать, не создавая резервную копию, используйте скрипт «flash_all_except_storage.bat», Поэтому вы сохраните все свои данные, но имейте в виду, что иногда вы не сможете получить доступ к данным из-за проблем с шифрованием.

Сразу после вспышки вы можете начать следовать указаниям из пункта 5 или 6.

Не должно быть проблемой понижения версии сборки через fastboot, если основная версия Android остается прежней (Oreo 8.1 на данный момент).

Запатентованные и оригинальные загрузочные файлы для Mi A2 jasmine (не для использования с Mi A2 Lite daisy, вы можете найти файлы для daisy в первом разделе этого руководства).

  • patched_boot 9.6.9.0 (июльское обновление) — исправлено с помощью Magisk 17.1
  • patched_boot 9.6.10.0 (августовское обновление) — исправлено с помощью Magisk 17.1
  • оригинальный boot.img 9.6.9.0 (июльское обновление) — взят из fastboot ROM
  • оригинальный boot.img 9.6.10.0 (августовское обновление) — взят из fastboot ROM
Ссылка на основную публикацию
Adblock
detector