На многих ТВ-боксах с Android отсутствуют штатные средства для предоставления рут-прав, поэтому для них актуально использование технологиии Magisk, предполагающей установку на устройстве приложения Magisk, а также patching (исправление, модификацию) boot.img - загрузочного образа Android. Обычно эту процедуру условно называют "пропатчить ядро". Образ boot.img содержит ядро (kernel) и виртуальный загрузочный диск (ramdisk). Существует достаточно много способов для выполнения этих действий. Здесь мы расскажем об использовании Magisk для рутирования ТВ-бокса на примере приставки T95Z Plus на SoC Allwinner H618 с Android 12 на борту. ВНИМАНИЕ ! Для ТВ-боксов других моделей в приведенной ниже пошаговой инструкции необходимо учитывать два изменения: 1. Получение пропатченного образа boot.imgcd storage/emulated/0/download dd if=/dev/block/mmcblk0p5 of=boot.img conv=fsync В этом случае файл образа будет находится в текущей папке download на приставке.Примечание. Вместо выполнения перечисленных выше пунктов 1-10 можно просто скачать готовый файл в zip-архиве по ссылке: Скачать boot_patched 2. Запись пропатченного файла boot_patched.img в раздел boot_aВнимание Нужно подчеркнуть, что команда DD - инструмент обоюдоострый: "одно неосторожное движение - и у тебя кирпич". Поэтому на приставках с H618 нужно обязательно всё проделать на загруженной карточке, и лишь потом на встроенной памяти. И ещё: лучше все команды заранее записать в текстовый файл и с него переносить в окно консоли копи-пастом, а не вводить с клавиатуры (легко ошибиться). В окне консоли CMD Windows ввод скопированной в буфера обмена команды - это правая кнопка мышки. Вариант 1. В консоли терминала UART console:/ $ cd storage/emulated/0/download console:/storage/emulated/0/download $ ls
console:/storage/emulated/0/download $ su dd if=boot_patched.img of=/dev/block/mmcblk0p5 conv=fsync Вариант 2. В консоли терминала приставки по ADB adb connect 192.168.0.106
* daemon not running. starting it now on port 5037 *
adb devices
C:\adb>adb devices
adb shell console:/ $ cd storage/emulated/0/download console:/storage/emulated/0/download $ ls
console:/storage/emulated/0/download $ su dd if=boot_patched.img of=/dev/block/mmcblk0p5 conv=fsync Вариант 3. В режиме fastboot на ПК c Windows adb connect 192.168.0.106 adb devices adb reboot bootloader На экране монитора - "друид в реанимации " fastboot flash boot_a boot_patched.img Примечание. Описанный выше способ перевода устройства в режим fastboot - не единственный. Например, можно сделать это из меню Recavery, но в нём для навигации потребуется подключение физической клавиатуры, что не всегда удобно (или нет свободных USB-портов). 3. Использование root-прав на приставкеПосле загрузки системы при первом запуске любого приложения, требующего root-права, будет появляться всплывающее окно с запросом на подтверждение предоставления прав суперпользователя. Для проверки наличия на устройстве рута можно воспользоваться приложением rootcheck ( Скачать rootcheck ), которое показывает (после подтверждения запроса), что рут есть: Для доступа к системным папкам рекомендуется пользоваться файловым менеджером RootExplorer ( Скачать rootexplorer ) Приложение. Лог процесса исправления boot.img в приложении Magisk - Device platform: armeabi-v7a - Installing: 25.2 (25200) - Copying image to cache - Unpacking boot image Parsing boot image: [/data/user_de/0/com.topjohnwu.magisk/install/boot.img] HEADER_VER [3] KERNEL_SZ [23160840] RAMDISK_SZ [12693527] OS_VERSION [12.0.0] OS_PATCH_LEVEL [2022-02] PAGESIZE [4096] CMDLINE [] KERNEL_FMT [raw] RAMDISK_FMT [lz4_legacy] VBMETA - Checking ramdisk status Loading cpio: [ramdisk.cpio] - Stock boot image detected - Patching ramdisk Loading cpio: [ramdisk.cpio] Add entry [init] (0750) Create directory [overlay.d] (0750) Create directory [overlay.d/sbin] (0750) Add entry [overlay.d/sbin/magisk32.xz] (0644) Patch with flag KEEPVERITY=[true] KEEPFORCEENCRYPT=[false] Loading cpio: [ramdisk.cpio.orig] Backup mismatch entry: [init] -> [.backup/init] Record new entry: [overlay.d] -> [.backup/.rmlist] Record new entry: [overlay.d/sbin] -> [.backup/.rmlist] Record new entry: [overlay.d/sbin/magisk32.xz] -> [.backup/.rmlist] Create directory [.backup] (0000) Add entry [.backup/.magisk] (0000) Dump cpio: [ramdisk.cpio] - Repacking boot image Parsing boot image: [/data/user_de/0/com.topjohnwu.magisk/install/boot.img] HEADER_VER [3] KERNEL_SZ [23160840] RAMDISK_SZ [12693527] OS_VERSION [12.0.0] OS_PATCH_LEVEL [2022-02] PAGESIZE [4096] CMDLINE [] KERNEL_FMT [raw] RAMDISK_FMT [lz4_legacy] VBMETA Repack to boot image: [new-boot.img] HEADER_VER [3] KERNEL_SZ [23160840] RAMDISK_SZ [12945685] OS_VERSION [12.0.0] OS_PATCH_LEVEL [2022-02] PAGESIZE [4096] CMDLINE [] **************************** Output file is written to /storage/emulated/0/Download/magisk_patched-25200_z3FyG.img **************************** cp: can't preserve ownership of 'busybox': Operation not permitted cp: can't preserve ownership of 'magisk32': Operation not permitted cp: can't preserve ownership of 'magiskboot': Operation not permitted cp: can't preserve ownership of 'magiskinit': Operation not permitted cp: can't preserve ownership of 'magiskpolicy': Operation not permitted - All done! |