суббота, 15 октября 2022 г.

X96 Max. Устанавливаем Armbian (Linux Debian 11) в NAND память ТВ приставки

             Мне попала в руки приставка X96 Max с нерабочим HDMI-выходом. Через AV-выход она работала, но с разрешимостью не более 576p, что делало возможным использовать ее только с кинескопными телевизорами, которых у меня нет :). Т. к. данная приставка по характеристикам превосходит разные Raspberry (Orange) Pi, а по цене дешевле, решено было установить на нее Linux и попытаться использовать в системе домашней автоматизации. Что из этого вышло – узнаете, дочитав данную статью.

Смотрим, что из себя представляет X96 Max:

OS:  Android 8.1 | Android 9.0

CPU: Amlogic S905X2 четырехъядерный процессор Cortex A53 до 2 ГГц

GPU: Mali-G31 MP2 Dvalin

ROM/RAM: 32GB + 4GB LPDDR4

Сеть: Gigabit Ethernet, WIFI 802.11 b/g/n/ac, Bluetooth 4.0 | Ampack AP6356S

Видео выход: HDMI 2.1 до 4K при 75 Гц с HDR, AV-порт 3,5-мм (композитный).

Аудио: аналоговый стереозвук через AV-порт, цифровой звук через HDMI и оптический S/PDIF

USB: USB 3,0x1, USB 2,0x1

Питание: 5 В/2A

Разное: ИК-порт для внешнего приемника, светодиодный дисплей и слот для карт памяти microSD

 

Приступаем к установке:

Подготавливаем загрузочную microSD карточку

1) Если у Вас, как и у меня установлен Android 9, то его необходимо понизить до версии 8.1, т.к. на девятой android используется другой загрузчик, который имеет проблемы с загрузкой с карточки microSD и работой сетевой карты под linux. Как установить на приставку Android 8.1 я описал в этой статье. Если же у Вас установлена прошивка на Android 8.1, то переходим к пункту 2.

2) Далее переходим по ссылке https://github.com/ophub/amlogic-s9xxx-armbian/releases и скачиваем последний актуальный образ с Debian для нашего ТВ бокса. На момент написания статьи это Armbian_22.11.0_Aml_s905x2-km3_bullseye_5.15.72_server_2022.10.06.img.gz

 

3) Используя balenaEtcher или Rufus записываем образ карточку microsd объемом не менее 4Гб(Я использовал Rufus и карточку на 32Гб)):



4) На единственном доступном под Windows разделе microSD-карточки Boot переходим в папку \dtb\amlogic и копируем имя *.dtb-файла нашей приставки (meson-g12a-x96-max.dtb):


5) Вставляем скопированное *.dtb-файла в строки FDT=/dtb/amlogic/*** файлов \extlinux\extlinux.conf и uEnv, заменяя существующие имена dvb-файлов и сохраняем. Должно получиться так:

 

Загружаемся с карточки MicroSD:

6) Далее нужно вставить microSD-карточку в x96 max и выполнить загрузку с нее. Это можно сделать двумя способами:

        a) Зажать при помощи спички или зубочистки на кнопку сброса, расположенную внутри AV-выхода, подключить питание и отпустить кнопку через 5-10 секунд:

 

        b) Или установить на TV Box с плеймаркета или apk-файла программу Reboot to LibreELEC и перезагрузиться с android через нее:

 

7) Начнется загрузка Debian с microSD-карточки. В конце загрузки видим ip-адрес приставки и предложение создать пароль пользователя root:

 

8) Можно подключить клавиатуру и выполнить настройку используя экран телевизора.  Для меня же удобней подключиться с компьютера при помощи PuTTY по этому адресу и выполнять все задачи с ПК:

 

9) Пользователь «root», стартовый пароль «1234». После входа необходимо сменить пароль для пользователя «root»:


10) Далее нужно выбрать кома́ндную оболо́чку (Command-line shell) Debian. Я выбрал zsh:

 

11) Следующим шагом создаем нового пользователя (root использовать в Linux не комильфо). У меня это логин пользователя chvv:

 

12) Задаем пароль для нового пользователя. Если попытаться ввести слишком простой паль пароль – система его не примет и скажет, что «it does not contain enough DIFFERENT characters». Это значит, что должно использоваться правило «3 из 4», то есть в пароле должны быть одновременно как минимум три разных типа символов из четырех возможных: строчные буквы (напр. abcde), ЗАГЛАВНЫЕ (ABCD), цифры (12345), а также спецсимволы (!@#$): .

 

13) Указываем свое имя: 

 

14) Подтверждаем часовой пояс:

 

15) Выбираем кодировку языка ввода:

 

16) Первоначальная настройка закончена. При желании можно выйти из системы и войти под вновь созданным пользователем.

 

Устанавливаем ARMBIAN на встроенную NAND-память

17) Обновляем списки пакетов

sudo apt update

18) Проверяем и устанавливаем обновления Debian

sudo apt upgrade

На предложения системы соглашаемся: 

 

19) Запускаем процесс установки на NAND

armbian-install

20) Выбираем ID своей приставки – по типу процессора, модели приставки и файла dtb. Для ТВ бокса x96 max это "301":

 

 21) Выбираем тип файловой системы:

 

22) Установка Armbian закончена. Теперь можно извлечь из x96 max microSD-карточку и передернуть разъем питания. Пойдет загрузка Armbian из встроенной памяти NAND. 

 

Настройка ARMBIAN после установки

23) Снова подключаемся при помощи putty к ТВ боксу (обратите внимание, IP может измениться и быть не тот, что при загрузке с microSD-карточки).

            Также смотрим версию Debian следующей командой (как видно из скриншота ниже у меня Debian 11.5)

cat /etc/debian_version


24) Подключаем встроенный в ТВ Бокс x96 max цифровой дисплей. Для этого вводим команду:

sudo armbian-led

 и вводим пароль пользователя:

 

25) Выбираем тип (ID) дисплея (в нашем случае 11):

 

После этой команды  на приставке включится дисплей:

 

26) Экран будет светиться до перезагрузки. Если перезагрузить x96 max то цифровой дисплей отключится и чтоб его снова включить, нужно будет повторить действия предыдущего пункта.

            Чтоб дисплей после перезагрузки не отключался нужно ввести две команды:

sudo sed -i '/armbian-led/d' /etc/rc.local

            В следующей команде '/exit 0/i\armbian-led 11' число 11 обозначает тип дисплея из предыдущего 25-го пункта 

sudo sed -i '/exit 0/i\armbian-led 11' /etc/rc.local

Теперь дисплей будет работать и после перезагрузки.

27) Далее я расскажу как подключить WIFI вместо LAN. Проверяем состояние сетевых адаптеров:

nmcli general


28) Теперь подключаем с помощью команды 

sudo nmcli dev wifi connect "dream2" password "network-password"

           Где вместо "dream2" – нужно ввести название Вашей точки доступа Wifi, а вместо "network-password" – пароль доступа к этой точке.

 

29) Проверить активные подключения можно командой

nmcli connection show


            Теперь LAN кабель можно отключать. Приставка будет работать по WIFI.

        

            На этом пока все. В следующей статье я расскажу как установить систему умного дома Home Assistant на x96max


7 комментариев:

  1. на X96 max+ 2/16 кирпич получился. Загрузка с флешь карты на android 9 произошла. Получилось установить armbian, но кирпич после. Благо всё восстанавливается. По ходу где то кто то брешет

    ОтветитьУдалить
    Ответы
    1. Или у кого-то кривые руки. У макс плюс другой процессор (скорей всего S905X3). Вы образ под него скачивали?

      Удалить
  2. Эх, надеялся, что действительно статья про установку на голый NAND, а тут eMMC. Мне просто попалась x96mini с NAND, и пока что не получилось туда armbian поставить

    ОтветитьУдалить
    Ответы
    1. Попробуйте здесь почитать про установку в NAND: https://forum.armbian.com/topic/12656-csc-armbian-for-rk322x-tv-boxes/

      Удалить
  3. Да, образ берете в зависимости от используемого процессора

    ОтветитьУдалить
  4. А где можно скачать пакет armbian-led. В стандартных пакетах его нет. При установке пишет E: Unable to locate package armbian-led.

    ОтветитьУдалить
    Ответы
    1. Прочтите это: https://github.com/ophub/amlogic-s9xxx-armbian/blob/main/documents/led_screen_display_control.md

      Удалить