Для начала скачиваем образ файловой системы для нужного процессора отсюда: [ophub/amlogic-s9xxx-armbian](https://github.com/ophub/amlogic-s9xxx-armbian/releases).
Ищем в списке последний релиз для процессора s905x3. В момент написания статьи это был файл **Armbian_23.11.0_amlogic_s905x3_lunar_6.1.62_server_2023.11.12.img.gz**.
После записи образа на накопителе открываем раздел fat32, в нём файл `uEnv.txt`. Меняем имя файла в параметре FDT на `meson-sm1-x96-max-plus-2101.dtb`:
Вставляем USB накопитель в приставку с**отключенным питанием**, зажимаем Reset (находится внутри гнезда AV), подключаем питание, держим Reset ~5 секунд.
{{<videosrc="firstrun.webm">}}
На видео нет логотипа стоковой прошивки, потому что на устройство был уже установлен armbian.
После запуска скрипт предложит сконфигурировать систему.
![firsrun](firstrun.jpg)
После предложения ввести новый пароль суперпользователя лучше немного подождать,
так как система всё ещё загружается и будут выводиться сообщения из журнала, сбивающие с толку.
Отвечаем на вопросы и завершаем установку.
## Установка на eMMC
На данном этапе вся конфигурация сохраняется на **USB накопитель**. Для того, чтобы загрузить armbian нужно будет каждый раз нажимать reset при загрузке.
Без параметра -m у меня отказывалась загружаться операционная система.
Сам параметр расшифровывается как "Use Mainline u-boot" (см. [тут](https://github.com/ophub/amlogic-s9xxx-armbian/tree/main/documents#81-installation-method-for-amlogic-series)).
При установке будет предложено выбрать устройство и файловую систему (я выбрал X96 Max Plus 2101 и ext4).
После того, как скрипт завершит работу, вводим poweroff, извлекаем USB накопитель и переподключаем питание.
Система теперь будет загружаться со встроенной памяти.
Если приставка к Wi-Fi не подключена, то советую это сделать (с помощью armbian-config или nmcli).
Через Ethernet подключить вроде как не получится, проблемы с драйвером.
Если вы уже подключили приставку к Wi-Fi, то можно управлять ей с помощью ssh (в дистрибутиве уже настроен ssh сервер).
В репозитории [ophub/amlogic-s9xxx-armbian](https://github.com/ophub/amlogic-s9xxx-armbian) описывается как включать или отключать индикаторы на дисплее
Однако нет информации как выводить произвольный текст вместо часов.
После изучения исходников [сервиса openvfd](https://github.com/arthur-liberman/linux_openvfd/blob/3118dda3aeb5b2f02b0ac0b5d30cbef58947a805/OpenVFDService.c#L342-L357)
стало понятно, что сервис использует канал по пути `/tmp/openvfd_service`.
Сама информация передаётся в виде структуры `vfd_display_data` (`openvfd_drv.h`). В этой структуре достаточно установить `mode = DISPLAY_MODE_TITLE` и заполнить `string_main`.
Имея всю эту информацию я сделал небольшую программку, которая устанавливает произвольный текст на дисплее.
Для этого нужно создать файл `/etc/sudoers.d/allow-set-display-text-nopasswd`с содержимым `multimote ALL=(ALL) NOPASSWD: /usr/local/bin/set-display-text`, где:
Мне не раз попадалась информация об установки klipper на тв-приставки. [Klipper](https://www.klipper3d.org) - прошивка для 3d принтеров, состоящая из двух частей.
Первая часть устанавливается на контроллер самого 3d принтера, а вторая на любой компьютер, который поддерживает установку Klipper.
Установка производится через [kiauh](https://github.com/dw-0/kiauh) и не вызывает никаких трудностей.
Для отображения прогресса печати на дисплее x96 Max Plus я использовал дополнение [G-Code Shell Command](https://github.com/dw-0/kiauh/blob/master/docs/gcode_shell_command.md).
Устанавливается дополнение тоже через kiauh. Для этого нужно перейти в меню Advanced: