ТВ-приставки Amlogic
ТВ-приставки Amlogic
Общий отказ от ответственности и предупреждение
Можно установить и запустить Manjaro на нескольких доступных ТВ-боксах с Android, использующих чипсеты Amlogic, такие как процессоры серий S905, S922 и A311. Эти ТВ-боксы можно приобрести за меньшую цену, чем одноплатный компьютер аналогичного класса, в комплекте с корпусом, пультом дистанционного управления и кабелями, но есть несколько недостатков, о которых следует знать.
Рынок ТВ-боксов Android изобилует подделками и клонами. Известны случаи, когда производители повторяли название одной и той же модели, но при этом использовали другой чипсет WiFi/Bluetooth или совершенно другую SoC. Например, существует как минимум восемь версий X96 Air, но все они имеют абсолютно одинаковый корпус. Производители ТВ-приставок редко или вообще никогда не предоставляют обновления для своих ОС на базе Android и оказывают нулевую поддержку пользователям, желающим запустить альтернативные операционные системы, поэтому добиться полной поддержки для каждой приставки практически невозможно.
Качество сборки - еще одна частая проблема ТВ-боксов, особенно часто встречаются плохие тепловые характеристики. Возможно, вам придется прорезать пару отверстий в корпусе и установить вентилятор с питанием от USB над SoC, чтобы добиться максимальной производительности ТВ-бокса, но для нормального использования это не требуется. Большинство ТВ-боксов на базе Amlogic оказались достаточно надежными.
Идентификация вашей коробки
В Android перейдите в Настройки -> Система -> О телефоне.
Имя устройства, указанное в разделе О телефоне, часто является наилучшим для идентификации вашего устройства, но вы также можете выполнить:
Под терминалом Android, чтобы показать идентификатор дерева устройства бокса.
Установка
Manjaro можно установить с карты micro uSD или USB-диска. После установки можно использовать /boot/install-aml-emmc.sh для копирования вашей установки на eMMC на некоторых Amlogic TV боксах. Известно, что приставки на базе Beelink S922x в настоящее время не работают с этим скриптом, и, вероятно, другие модели также не будут работать при загрузке с eMMC, поэтому используйте скрипт на свой страх и риск.
Настройка uEnv.ini
После использования инструмента создания образа диска, такого как balenaEthcher или gnome-disks для записи одного из образов AM6 Plus или GT King Pro Manjaro ARM на SD-карту или USB-диск, смонтируйте диск и отредактируйте BOOT_MNJRO/uEnv.ini. Вы должны отредактировать строку, начинающуюся с dtb_name=, чтобы указать на файл dtb, который вы хотите использовать для настройки дерева устройств.
Если в каталоге dtbs нет точного соответствия dtb для вашего бокса, и вы не можете найти подходящий dtb на этой вики или на форумах Manjaro, то сначала попробуйте meson-g12a-x96-max.dtb, meson-g12a-sei510.dtb или meson-sm1-sei610.dtb:
dtb_name=/dtbs/amlogic/meson-g12a-x96-max.dtb
Загрузка с USB
Если вы загружаете Manjaro с USB-диска или через адаптер/корпус USB SATA, есть большая вероятность, что вам потребуется добавить параметр ядра usb-storage.quirks в оператор APPEND в extlinux.conf следующим образом:
APPEND root=PARTUUID=5418e4d8-02 rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 quiet splash plymouth.ignore-serial-consoles usb-storage.quirks=152d:1561:u
Вы должны заменить 152d:1561 на правильные идентификаторы производителя и продукта USB для вашего USB-устройства. Вы можете найти эти идентификаторы, запустив lsusb, когда ваш диск или адаптер подключен к Linux. Рекомендуется загружаться с USB без установки параметра USB storage quirks, если это возможно.
Включить режим мультизагрузки
Если вы впервые пытаетесь загрузиться с SD-карты или USB-диска, необходимо включить режим мультизагрузки. Вставьте микро SD карту Manjaro или подключите USB диск Manjaro, затем зажмите кнопку в AV порту, вставив скрепку, булавку или что-то подобное, и держите ее нажатой при включении устройства. Держите кнопку нажатой, пока не появится экран загрузки вашего устройства. Через несколько секунд устройство должно перезагрузиться с SD-карты или USB-диска. Это нужно сделать только один раз, если вы не перепрошиваете eMMC.
Перепрошивка Android
В экстренных ситуациях, например, когда Manjaro перестает загружаться из-за изменения или повреждения загрузчика, вам может понадобиться перепрошивка Android. Если у вас есть подходящий установочный образ для вашего телевизора и кабель USB A - A, вы можете использовать aml-flash-tool для перепрошивки вашего ТВ-бокса.
ВНИМАНИЕ Перед прошивкой образа необходимо создать резервную копию всего, что хранится на ТВ-боксе, поскольку все данные, хранящиеся на eMMC, будут стерты. Будьте осторожны, прошивайте только образы, созданные специально для вашего ТВ бокса, иначе вы можете "окирпичить" ваш бокс, что означает, что он не загрузится и вы не сможете включить режим мультизагрузки.
Установка aml-flash-tool
aml-flash-tool требует установки старых (0.1.x) библиотек libusb. Пользователи Debian и Ubuntu должны установить libusb-dev, а пользователи Arch и Manjaro Linux должны установить libusb-compat.
Клонируйте репозиторий aml-flash-tool:
Скопируйте aml_image_v2_packer и программу amlogic update в свой каталог:
Теперь вы готовы к запуску файла flash-tool.sh
Перепрошивка с помощью flash-tool.sh
Отключите питание от ТВ-приставки и подключите кабель USB A - USB A к ТВ-приставке. Можно по-разному выбирать порт, но обычно для перепрошивки подходит только один порт. Теперь вставьте булавку или что-то подобное в отверстие AV, нажмите на кнопку и держите ее нажатой, пока подключаете кабель USB A - A к другой машине. Вы узнаете, когда ваш ТВ бокс будет готов к прошивке с помощью flash-tool.sh, потому что увидите устройство Amlogic в списке при запуске lsusb.
Когда вы увидите, что ваш ТВ-приставка подключена, то можете прошить ее с помощью команды, например:
Замените X96AIR_Q1000_20210127-2121.img на путь к образу, который вы хотите прошить. Вам не нужно запускать flash-tool.sh от имени root.
Внешние ссылки на скачивание прошивки Amlogic TV box
Загружайте и прошивайте эти файлы прошивки на свой страх и риск! Эти сайты и производители никак не связаны с Manjaro, поэтому разработчики Manjaro не будут оказывать никакой поддержки при их установке.
Прошивка для семейства приставок X96 Air.
Прошивка Turewell для боксов T95.
Evolution TV есть загрузка прошивок для нескольких ТВ-приставок.
SLIMBOX это пользовательская прошивка Android для ТВ-приставок Amlogic.
Установка Android
Наличие root-доступа под Android полезно, поскольку это позволяет скопировать ваш dtb-файл(ы). Хотя вы не можете использовать dtbs Android с основными ядрами Manjaro, вы можете декомпилировать их в dts файлы, и эта информация может быть полезна при настройке dts/dtb файлов, которые работают с вашим ядром, если у вас есть навыки и время для разработки или изменения файлов дерева устройств.
Некоторые ТВ-приставки поставляются с предустановленным root-доступом, в то время как другие включают приложение для легкого получения root/sudo доступа. Вы можете использовать приложение Android Root Checker, чтобы проверить, есть ли у вас root-доступ. Если ваша ТВ-приставка не поддерживает root, то можете использовать TWRP и Magisk чтобы получить root. Обратите внимание, что это не постоянное root-решение, и вам потребуется загрузиться с SD-карты, модифицированной Magisk, чтобы получить root-доступ.
Загрузите последнюю версию X96 Max (u212) для TWRP. Эта сборка TWRP должна загрузиться на большинстве ТВ-приставок Amlogic, а не только на X96 Max.
Отформатируйте карту micro SD в формат FAT32, скопируйте на нее образ twrp (twrp-3.5.2_9-0-u212.img) и переименуйте его в recovery.img. Вставьте micro SD в ТВ бокс, затем удерживайте кнопку multiboot AV, одновременно подключая питание, пока не появится экран загрузки. После этого ТВ-бокс должен перезагрузиться в TWRP.
Проведите пальцем (перетащите кнопку с помощью USB-мыши), чтобы разрешить изменения. В главном меню TWRP выберите Backup. Единственный раздел, который мы хотим создать, это раздел Boot, который уже должен быть выбран. Снимите выделение с раздела Data, если он выбран автоматически, затем нажмите Select Storage, выберите Micro SD card и проведите пальцем, чтобы создать резервную копию загрузочного раздела. Должно пройти всего несколько секунд, прежде чем вам будет предложено перезагрузиться.
Затем установите и запустите Magisk под Android. При установке Magisk выберите Recovery mode, затем выберите метод Select and Patch a File. Затем вам будет предложено найти резервную копию загрузочного раздела, который мы создали с помощью TWRP, поэтому перейдите к SD card/TWRP/BACKUPS/1234567890/SOMEDATE/boot.emmc.win и дважды щелкните файл образа загрузочного раздела, затем выберите Let's go. После этого Magisk исправит ramdisk в загрузочном образе и создаст новый образ восстановления под названием magisk_patched-something.img, который будет сохранен в каталог Android Downloads. Скопируйте этот новый файл образа из Downloads на карту micro SD и переименуйте его в recovery.img, чтобы вы могли выполнять мультизагрузку с него, будучи рутованным.
dtb-файлы
Файл DTB - это Linux Device Tree Blob. Device Tree Compiler (dtc) преобразует исходный формат дерева устройств "dts", редактируемый человеком, в компактное представление дерева устройств "dtb", используемое ядром Linux. Файл DTB требуется на устройствах ARM Linux для конфигурирования и включения определенных типов оборудования, поддерживаемых ядром Linux.
В образах Ugoo AM6 по умолчанию используется ядро linux-khadas. Вы с большей вероятностью сможете заставить работать встроенный Wi-Fi вашего ТВ-бокса, установив вместо него ядро linux-odroid.
Рекомендуемые файлы .dtb
Это список ТВ-приставок Amlogic и dtb, которые предлагают наилучшую поддержку. Пожалуйста, предоставьте ссылку на загрузку, если dtb не упакован с ядром Manjaro vim или aml.
A95X F2 - meson-g12a-u200.dtb - Загружается, но нет Ethernet, Wi-Fi или Bluetooth.
Beelink GT King Pro - meson-g12b-gtkingpro-pro.dtb or meson-g12b-ugoos-am6.dtb - works with the older linux-vim 5.9.y or 5.10.y series and current mainline linux 5.12.y kernels.
X92 v2 - meson-gxm-q201.dtb
X96 Air Q1000 - meson-sm1-sei610-qca9377-bt - Tested with linux-aml kernel 5.12. Working gigabit ethernet, WiFi and HDMI audio. No support for onboard audio or LED display. Onboard bluetooth was working but it has stopped working under recent Manjaro releases.
X96 Max Plus - meson-sm1-x96maxplus-vim100m.dtb - There are several versions of the X96 Max Plus. This dtb is configured for those with the rtl8822cs WiFi chipset in which case you should get HDMI audio, WiFi, Bluetooth and 100Mb ethernet if you install the rtl8822cs DKMS kernel module package.
Useful device tree commands
Decompile dtb to dts:
Compile a dts to a dtb:
DTB extractor - Tool to split a kernel image with appended dtbs into separated kernel and dtb files.
dtb/SoC code names
This is the dtb naming scheme used for the various Amlogic SoC's, which may help you find a working dtb:
gxbb → S905 gxl → S905X g12a → S905X2 g12b → S922X gxm → S912 sm1 → S905X3
Советы и рекомендации
Включение ускорения графики
Отредактируйте /etc/X11/xorg.conf.d/01-panfrost.conf и измените AccelMethod с none на glamor.
Драйвер mesa Mali, Panfrost, оптимизирован для использования под Wayland, поэтому вы должны получить более высокую производительность GPU при использовании рабочих станций на базе Wayland.
Воспроизведение видео с аппаратным ускорением
Модуль ядра meson-vdec обеспечивает поддержку декодирования MPEG 1/2/4, h264, h265/HEVC и VP9 на аппаратном уровне, но в настоящее время он, похоже, работает только с mpv для некоторых кодеков с разрешением до Full HD / 1080p @ 30 кадров в секунду, несмотря на аппаратную поддержку 4K.
Вы можете добавить эти опции в ~/.config/mpv/mpv.conf чтобы не вводить их при каждом запуске mpv.
CH340-fan-control
CH340-fan-control это скрипт на языке python для управления вентилятором USB.
HDMI аудиоскрипт
Некоторые пользователи сообщают, что запуск g12_sound.sh исправил их HDMI-аудио. Если у вас проблемы со звуком HDMI, скорее всего, у вас уже установлен g12_sound.sh, поэтому запустите скрипт:
Перезагрузитесь и попробуйте!
Раскирпичивание
Если вы вывели из строя ТВ-приставку AMlogic, но подозреваете, что аппаратное обеспечение все еще в порядке - можете попробовать создать загрузочную карту восстановления uSD, или попробовать использовать инструмент Amlogic burn card maker под Windows для восстановления прошивки с карты uSD, но у меня не было никакого успеха с этими методами.
Лучшим вариантом для разблокировки ТВ-приставки является поиск местоположения контактных площадок или контактов maskrom, так как обычно можно оживить приставку, закоротив пару контактных площадок или ножек микросхемы на материнской плате. Для этого необходимо открыть ТВ-приставку, что, скорее всего, приведет к аннулированию гарантии, если она у вас есть.