Опишу ниже способ, как можно установить на Яндекс Станцию Макс сторонние приложения правкой содержимого раздела product. Возможно, этот способ будет работать и на некоторых других устройствах.
На Станции Макс используется доверенная загрузка, при которой при создании прошивки вычисляется и подписывается таблица хешей разделов system и vendor, а при загрузке эта цифровая подпись проверяется.
К счастью для нас, подпись для раздела product не проверяется, так что данный раздел можно править как нам угодно.
При наличии прямых рук и программатора - можно "сдуть" EMMC и исправить его содержимое. При отсутствии программатора, можно воспользоваться утилитой update от Amlogic сдампив раздел product, внеся изменения и записав его назад. Либо воспользоваться возможностью загрузки в Армбиан, из которого уже вносить правки в содержимое раздела.
Программатора и нормального фена у меня нет, загрузка образа раздела product утилитой update у меня работает нестабильно, поэтому опишу как исправлять раздел product, спаяв простейшую схему, подключившись к нижнему разъему Станции Макс и загрузившись в Армбиан.
Для установки приложений нам потребуется:
1. Яндекс Станция Макс без пароля на USB.
2. Костыль-плата для подключения Макса к ПК, а также для подключения к нему USB флешки.
3. Флешка с Армбиан.
Сперва дополняем флешку файлами:
Копируем на нее пакет attr_2.5.1-4_arm64.deb, а также APK файл, который будем устанавливать на устройство. Я взял MiXplorer. Скопировать файлы проще всего на FAT32 раздел, который boot.
Загружаемся в Армбиан по инструкции.
Устанавливаем пакет attr:
dpkg -i /boot/attr_2.5.1-4_arm64.deb
Монтируем раздел product:
mkdir /product
mount -o offset=3814719488 /dev/mmcblk1 /product
После чего копируем MiXplorer в папку /product/app. Создавать отдельную подпапку для APK не требуется.
Просто копирования недостаточно - на Андроиде включен SeLinux, который блокирует доступ к файлам без корректно заполненных атрибутов:
Необходимо добавить атрибуты SeLinux на свежескопированный файл такие же, как у уже существующих файлов:
setfattr -n security.selinux -v "u:object_r:system_file:s0" /product/app/MiXplorer_v6.68.4_B24112322-arm64.apk
После чего размонтируем /product
umount /product
И перезагружаемся.
Приложение появилось: