История изменений
Исправление
Legioner,
(текущая версия)
:
В общем всё получилось, напишу краткий гайд для таких же чайников. Это для Xiaomi Mi A2, на других телефонах может быть по-другому.
Использованная информация:
- Magisk Installation Guide - обязательно прочитайте, там куча вариантов установки, я описываю самый «правильный».
Предупреждения: разблокировка загрузчика может снять вас с гарантии, это всё может превратить телефон в кирпич и тд и тп, всё на ваш страх и риск. Разблокировка загрузчика удалит все ваши файлы, фотографии, приложения, настройки и тд. Все приведённые команды я использовал для своего телефона, у вас скорей всего названия, пути и тд будут другими, проверяйте, читайте документацию.
Часть нулевая - обновить ОС на телефоне до последней версии стандартными средствами.
Часть первая - настройка компьютера и спаривание с телефоном. Конечная цель - чтобы работал adb.
-
В андроиде нужно включить Developer Mode: зайти в Settings / About phone / тыкнуть 7 раз в Build number. Порадоваться, что вы теперь Developer.
-
В андроиде нужно включить Settings / System / Advanced / Developer options / USB debugging / ok.
-
Теперь про компьютер, к которому нужно будет подключить телефон через USB. Я использую Fedora. Для начала надо установить Android SDK. У меня установлен плагин Android для Idea, через который я установил SDK, но если вам не нужно разрабатывать приложения для Android, проще скачать SDK с сайта без Android Studio и распаковать куда-нибудь. У меня он распакован в
~/apps/android
. В репозиториях дистрибутива оно вроде тоже есть, но я ими стараюсь для такого софта не пользоваться, на свой страх и риск используйте, если хотите. Можно добавить~/apps/android/platform-tools
в$PATH
, я не добавлял. -
Подключить телефон и выполнить
~/apps/android/platform-tools/adb devices
. На моём компьютере она не работала: телефон показывался в списке, но не хватало разрешений. Чтобы решить эту проблему, я сделал так:
sudo groupadd adb
sudo usermod -aG adb myuser
Далее нужно подключить устройство и написать lsusb. В выводе будет строчка вида
Bus 001 Device 009: ID 2717:4ee7 Xiaomi Inc. SDM660-MTP _SN:7F20843D
Этой строчке соответствует файл /dev/bus/usb/001/009
. Если посмотреть его права, то будет понятно, что прав на запись действительно не хватает.
Далее я создал файл /etc/udev/rules.d/99-adb.rules
и в нём написал
SUBSYSTEM=="usb", ATTR{idVendor}=="2717", ATTR{idProduct}=="4ee7", GROUP="adb", MODE="0664"
Все значения из той строчки от lsusb
, если что. У вас наверняка будут другие.
После этого лучше всего просто перезагрузить компьютер.
- Команда
~/apps/android/platform-tools/adb devices
должна показывать подключенное устройство без всяких ошибок. В первый раз телефон потребует подтверждения.
Часть вторая - подготовка патченного boot.img
.
-
На телефоне включить возможность установки apk: Settings / Apps and Notifications / Advanced / Special app access / Install unknown apps / File Manager.
-
На телефоне зайти по адресу https://github.com/topjohnwu/Magisk/releases и скачать Magisk-v23.0.apk (или какой там последний будет). Ну и установить.
-
Найти и скачать тот образ, с которого установлен ваш телефон. Для моего это произошло так:
3.1. Зайти на https://xiaomifirmwareupdater.com/
3.2. Выбрать в меню сайта Downloads/MiUI.
3.3. Набрать в поиске «a2»
3.4. Нажать Download в строке Mi A2 Global Fastboot V11.0.28.0.QDIMIXM 10.0 1.7 GB
3.5. На этой странице промотать вниз и найти образ со строчкой Type: Fastboot
, его и скачать.
3.6. Скачается файл https://bigota.d.miui.com/V11.0.28.0.QDIMIXM/jasmine_global_images_V11.0.28.0.QDIMIXM_20210702.0000.00_10.0_d88fa668a6.tgz
3.7. Удостовериться, что файл скачивается с домена miui.com.
3.8. Удостовериться, что MD5 на сайте https://xiaomifirmwareupdater.com/ начинается с той же строки, которой кончается имя скачанного файла.
3.9. Проверить MD5 скачанного файла.
-
Я распаковал этот .tgz файл. Появился каталог, в нём куча файлов, из которых нужен только файл boot.img. Он был в каталоге
jasmine_global_images_V11.0.28.0.QDIMIXM_10.0/images
. -
Засунуть этот файл на телефон:
~/apps/android/platform-tools/adb push ~/Downloads/jasmine_global_images_V11.0.28.0.QDIMIXM_10.0/images/boot.img /storage/self/primary/Download/
- Запустить Magisk на телефоне, выбрать там Install, выбрать boot.img в папке с загрузками, нажать Install. Процесс займёт некоторое время. В конце концов в папке с загрузками сгенерируется файл с именем вида
magisk_patched-23000_jaofM.img
, его вытаскиваем на компьютер:
~/apps/android/platform-tools/adb pull /storage/self/primary/Download/magisk_patched-23000_jaofM.img ~/Downloads/
Часть третья - разблокировка загрузчика.
- В андроиде нужно включить возможность разблокировки загрузчика: Settings / System / Advanced / Developer options / OEM unlocking
Если у вас нет этого пункта, разбирайтесь со своим телефоном сами, для каждого вендора тут свои пути.
-
Перезагрузиться в режим fastboot. Проще всего набрать
~/apps/android/platform-tools/adb reboot bootloader
но можно и какие-то там кнопочки при перезагрузке зажимать. -
USB-устройство будет другое, смотрите часть первую, пункт 4 при необходимости разобраться с правами, делайте всё точно так же, просто в файл
99-adb.rules
добавить ещё одну строчку, перезагружаться после этого не надо, только переткнуть устройство.~/apps/android/platform-tools/fastboot devices
должен работать нормально. -
Собственно великий и могучий момент - разлочить загрузчик:
~/apps/android/platform-tools/fastboot flashing unlock
На телефоне появится меню, кнопками регулирования громкости выбрать пункт Unlock the bootloader и нажать Power для подтверждения.
После этого у вас телефон переустановит всё, тут обычная процедура как при первом включении, зайти в аккаунт гугл, скачать обновления в play market, поставить нескучные обои и тд.
Во время загрузки телефона у меня снизу появилась надпись «Unlocked».
- См. часть первую, пункты 1 и 2.
Часть четвёртая, установка пропатченного boot
-
Опять перезагрузиться в режим fastboot:
~/apps/android/platform-tools/adb reboot bootloader
-
Установить пропатченный boot:
~/apps/android/platform-tools/fastboot flash boot ~/Downloads/magisk_patched-23000_jaofM.img
-
Перезагружаемся:
~/apps/android/platform-tools/fastboot reboot
-
Примерно в этом месте устройство должно превратиться в кирпич, если что-то пошло не так. Если всё пошло так, то в меню появится пункт Magisk с дефолтной иконкой. Нажимаем его, прощёлкиваем, в принципе там всё понятно. В итоге он скачивает, устанавливает и запускает Magisk, который нам сразу предлагает завершить установку и перезагрузить устройство. Соглашаемся.
-
После перезагрузки запускаем опять Magisk, копаемся в настройках, настраиваем что вам надо. Мне, например, root нужен только в adb, что я и настроил. В принципе всё.
Часть пятая, использование root:
-
Открываем shell:
adb shell
-
Получаем рута:
su
и сразу на телефоне подтверждаем.
Собственно всё. Также прочитайте, как обновлять ОС, чтобы не потерять рута: OTA Upgrade Guides.
Исходная версия
Legioner,
:
В общем всё получилось, напишу краткий гайд для таких же чайников. Это для Xiaomi Mi A2, на других телефонах может быть по-другому.
Использованная информация:
- Magisk Installation Guide - обязательно прочитайте, там куча вариантов установки, я описываю самый «правильный».
Предупреждения: разблокировка загрузчика может снять вас с гарантии, это всё может превратить телефон в кирпич и тд и тп, всё на ваш страх и риск. Разблокировка загрузчика удалит все ваши файлы, фотографии, приложения, настройки и тд. Все приведённые команды я использовал для своего телефона, у вас скорей всего названия, пути и тд будут другими, проверяйте, читайте документацию.
Часть нулевая - обновить ОС на телефоне до последней версии стандартными средствами.
Часть первая - настройка компьютера и спаривание с телефоном. Конечная цель - чтобы работал adb.
-
В андроиде нужно включить Developer Mode: зайти в Settings / About phone / тыкнуть 7 раз в Build number. Порадоваться, что вы теперь Developer.
-
В андроиде нужно включить Settings / System / Advanced / Developer options / USB debugging / ok.
-
Теперь про компьютер, к которому нужно будет подключить телефон через USB. Я использую Fedora. Для начала надо установить Android SDK. У меня установлен плагин Android для Idea, через который я установил SDK, но если вам не нужно разрабатывать приложения для Android, проще скачать SDK с сайта без Android Studio и распаковать куда-нибудь. У меня он распакован в
~/apps/android
. В репозиториях дистрибутива оно вроде тоже есть, но я ими стараюсь для такого софта не пользоваться, на свой страх и риск используйте, если хотите. Можно добавить~/apps/android/platform-tools
в$PATH
, я не добавлял. -
Подключить телефон и выполнить
~/apps/android/platform-tools/adb devices
. На моём компьютере она не работала: телефон показывался в списке, но не хватало разрешений. Чтобы решить эту проблему, я сделал так:
sudo groupadd adb
sudo usermod -aG adb myuser
Далее нужно подключить устройство и написать lsusb. В выводе будет строчка вида
Bus 001 Device 009: ID 2717:4ee7 Xiaomi Inc. SDM660-MTP _SN:7F20843D
Этой строчке соответствует файл /dev/bus/usb/001/009
. Если посмотреть его права, то будет понятно, что прав на запись действительно не хватает.
Далее я создал файл /etc/udev/rules.d/99-adb.rules
и в нём написал
SUBSYSTEM=="usb", ATTR{idVendor}=="2717", ATTR{idProduct}=="4ee7", GROUP="adb", MODE="0664"
Все значения из той строчки от lsusb
, если что. У вас наверняка будут другие.
После этого лучше всего просто перезагрузить компьютер.
- Команда
~/apps/android/platform-tools/adb devices
должна показывать подключенное устройство без всяких ошибок. В первый раз телефон потребует подтверждения.
Часть вторая - подготовка патченного boot.img
.
-
На телефоне включить возможность установки apk: Settings / Apps and Notifications / Advanced / Special app access / Install unknown apps / File Manager.
-
На телефоне зайти по адресу https://github.com/topjohnwu/Magisk/releases и скачать Magisk-v23.0.apk (или какой там последний будет). Ну и установить.
-
Найти и скачать тот образ, с которого установлен ваш телефон. Для моего это произошло так:
3.1. Зайти на https://xiaomifirmwareupdater.com/
3.2. Выбрать в меню сайта Downloads/MiUI.
3.3. Набрать в поиске «a2»
3.4. Нажать Download в строке Mi A2 Global Fastboot V11.0.28.0.QDIMIXM 10.0 1.7 GB
3.5. На этой странице промотать вниз и найти образ со строчкой Type: Fastboot
, его и скачать.
3.6. Скачается файл https://bigota.d.miui.com/V11.0.28.0.QDIMIXM/jasmine_global_images_V11.0.28.0.QDIMIXM_20210702.0000.00_10.0_d88fa668a6.tgz
3.7. Удостовериться, что файл скачивается с домена miui.com.
3.8. Удостовериться, что MD5 на сайте https://xiaomifirmwareupdater.com/ начинается с той же строки, которой кончается имя скачанного файла.
3.9. Проверить MD5 скачанного файла.
-
Я распаковал этот .tgz файл. Появился каталог, в нём куча файлов, из которых нужен только файл boot.img. Он был в каталоге
jasmine_global_images_V11.0.28.0.QDIMIXM_10.0/images
. -
Засунуть этот файл на телефон:
~/apps/android/platform-tools/adb push ~/Downloads/jasmine_global_images_V11.0.28.0.QDIMIXM_10.0/images/boot.img /storage/self/primary/Download/
- Запустить Magisk на телефоне, выбрать там Install, выбрать boot.img в папке с загрузками, нажать Install. Процесс займёт некоторое время. В конце концов в папке с загрузками сгенерируется файл с именем вида
magisk_patched-23000_jaofM.img
, его вытаскиваем на компьютер:
~/apps/android/platform-tools/adb pull /storage/self/primary/Download/magisk_patched-23000_jaofM.img ~/Downloads/
Часть третья - разблокировка загрузчика.
- В андроиде нужно включить возможность разблокировки загрузчика: Settings / Developer Mode / ???
Если у вас нет этого пункта, разбирайтесь со своим телефоном сами, для каждого вендора тут свои пути.
-
Перезагрузиться в режим fastboot. Проще всего набрать
~/apps/android/platform-tools/adb reboot bootloader
но можно и какие-то там кнопочки при перезагрузке зажимать. -
USB-устройство будет другое, смотрите часть первую, пункт 4 при необходимости разобраться с правами, делайте всё точно так же, просто в файл
99-adb.rules
добавить ещё одну строчку, перезагружаться после этого не надо, только переткнуть устройство.~/apps/android/platform-tools/fastboot devices
должен работать нормально. -
Собственно великий и могучий момент - разлочить загрузчик:
~/apps/android/platform-tools/fastboot flashing unlock
На телефоне появится меню, кнопками регулирования громкости выбрать пункт Unlock the bootloader и нажать Power для подтверждения.
После этого у вас телефон переустановит всё, тут обычная процедура как при первом включении, зайти в аккаунт гугл, скачать обновления в play market, поставить нескучные обои и тд.
Во время загрузки телефона у меня снизу появилась надпись «Unlocked».
- См. часть первую, пункты 1 и 2.
Часть четвёртая, установка пропатченного boot
-
Опять перезагрузиться в режим fastboot:
~/apps/android/platform-tools/adb reboot bootloader
-
Установить пропатченный boot:
~/apps/android/platform-tools/fastboot flash boot ~/Downloads/magisk_patched-23000_jaofM.img
-
Перезагружаемся:
~/apps/android/platform-tools/fastboot reboot
-
Примерно в этом месте устройство должно превратиться в кирпич, если что-то пошло не так. Если всё пошло так, то в меню появится пункт Magisk с дефолтной иконкой. Нажимаем его, прощёлкиваем, в принципе там всё понятно. В итоге он скачивает, устанавливает и запускает Magisk, который нам сразу предлагает завершить установку и перезагрузить устройство. Соглашаемся.
-
После перезагрузки запускаем опять Magisk, копаемся в настройках, настраиваем что вам надо. Мне, например, root нужен только в adb, что я и настроил. В принципе всё.
Часть пятая, использование root:
-
Открываем shell:
adb shell
-
Получаем рута:
su
и сразу на телефоне подтверждаем.
Собственно всё. Также прочитайте, как обновлять ОС, чтобы не потерять рута: OTA Upgrade Guides.