3. Как прошить раздел ENVВариант 1-й. Полная перепрошивка ТВ-бокса. Для этого достаточно в распакованном образе прошивки заменить файл env.fex на откорректированный, заново собрать образ и прошить в устройство через PhoenixSuit (по кабелю) или через PhoenixCard (SD-картой). Вариант 2-й. Прошить только раздел ENV с помощью PhoenixSuit Для этого в распакованном образе прошивки заменить файл env.fex на откорректированный, заново собрать образ и прошить в устройство через PhoenixSuit, отметив флажком только раздел ENV Вариант 3-й. Прошить только раздел ENV утилитой Fastboot.exe C:\adb>adb devices List of devices attached 1c001411631547d260d device C:\adb>adb reboot bootloader C:\adb>fastboot devices 1c001411631547d260d fastboot здесь env.img - имя отредактированного файла Environment C:\adb>fastboot flash env env.img target reported max download size of 33554432 bytes sending 'env' (128 KB)... OKAY [ 0.016s] writing 'env'... OKAY [ 0.344s] finished. total time: 0.359s 8) загрузить систему командой fastboot boot После этого, не отключая кабель от USB (от него питается приставка), подождать, пока произойдет полная загрузка и появится картинка главного экрана. Если да, то всё закончилось успешно, отключаем кабель и подключаем к приставке блок питания. Вариант 4-й. Редактирование раздела ENV в оболочке U-Boot Этот способ подходит для приставки, в которой по умолчанию ADB настроен на работу с сетью. В этом случае подключение кабеля между USB ПК и USB приставки не потребуется, однако необходимо подключение порта USB ПК через переходник к последовательному порту UART приставки. Примером такой приставки является T95Z Plus на основе SoC H618 (модифицированный H616) с операционной системой Android 12. Для редактирования ENV на ПК с Windows используется утилита adb.exe, а также терминал программы MobaXTerm (или аналогичной), настроенный на работу с UART приставки (скорость 115200). Пошаговая инструкция
C:\adb>adb connect 192.168.0.123 * daemon not running. starting it now on port 5037 * * daemon started successfully * ** daemon still not running error: cannot connect to daemon: cannot connect to 127.0.0.1:5037: Сделана попытка доступа к сокету методом, запрещенным правами доступа. (10013) Примечание. Такое сообщение об ошибке может появляеться, если не отключен брандмауэр. Теперь его отключим и повторим попытку: C:\adb>adb connect 192.168.0.123 connected to 192.168.0.123:5555 C:\adb>adb devices List of devices attached 192.168.0.123:5555 device C:\adb> Таким образом, теперь мы подключились к приставке с помощью ADB по локальной сети. [T1] reboot: Restarting system with command 'bootloader' [46]HELLO! BOOT0 is starting! .............. (здесь часть лога пропущена) .............. sunxi_fastboot_init recv addr 0x41000000 send addr 0xbbf026d0 start to display fastbootlogo.bmp 54 bytes read in 1 ms (52.7 KiB/s) bmp_name=fastbootlogo.bmp size 190236 190236 bytes read in 10 ms (18.1 MiB/s) delay time 0 weak:otg_phy_config usb init ok sunxi_usb_ fastboot_status=0 exit usb sunxi_fastboot_exit next work 0 SUNXI_UPDATE_ NEXT_ACTION_NULL => Поэтому загрузчик U-Boot переходит в режим командного интерфейса (оболочку),
при этом на экране терминала появляется заветное приглашение '=>'.
Т.е. нам удалось войти в оболочку U-Boot, и теперь можно воспользоваться его командами
для редактирования переменных окружения.
Начиная с этого момента, окно консоли в Windows можно закрыть, дальше мы будем работать только в окне терминала MobaXTerm. Обратите внимание на строку с переменной bootcmd : bootcmd=run setargs_mmc boot_fastboot Которая означает, что при продолжении загрузки U-Boot, выполняя эту команду, будет пытаться перейти в режим fastboot, поэтому перед сохранением ENV эту переменную нужно будет исправить. Обратите внимание, что в команде env set не нужно вставлять символ '=' между именем переменной и её значением: => env set loglevel 2 => env set bootdelay 5 => print loglevel loglevel=2 => print bootdelay bootdelay=5 env set bootcmd run setargs_mmc boot_normal
bootdelay=5 bootcmd=run setargs_mmc boot_normal ВНИМАНИЕ ! Это обязательно, т.к. всё редактирование делалось в оперативной памяти. По этой команде массив переменных окружения будет записан в раздел ENV на загрузочном носителе (eMMC или SD), в зависимости от того, откуда происходила загрузка. ВНИМАНИЕ ! Настоятельно рекомендуется проделать все описанные процедуры первоначально используя загрузочную SD-карту (загрузка с которых поддерживается на приставках c H618 и Android 12. Вариант 5-й. Запись измененного файла ENV.img в консоли работающей приставки Конвертор файла переменных окружения ENV . ВНИМАНИЕ ! Этот измененный файл env_t95z.img - только для приставки T95Z Plus console:/ $ cd storage/emulated/0/download console: $ ls env_t95z.img console: $ su console: # dd if=env_t95z.img of=/dev/block/mmcblk0p3 conv=fsync bootdelay=5 loglevel=2 |