Устанавливаем Linux (Armbian) на ТВ бокс
Если вести речь о энергоэффективных устройствах, то ARM64 архитектура себя отлично зарекомендовала. На рынке существует огромное предложение устройств на данной архитектуре. Но ценник при запросе определенных параметром стремительно растет вверх. Озвучим наши требования: ARM64, 1Gb ОЗУ и 8GB SSD или NAND. Естественно увеличение параметров в большую сторону приветствуется. Обратившись к рынку ТВ приставок — я вижу предложения от 1000р, что в 2-4 раза дешевле плат для разработчиков. Выбор пал на Х96 приставку
За 1000р я получил ужасный ТВ бокс, но отличный конструктор. Блок питания и клавиатура, а также HDMI кабель шли в комплекте. Прикладываю подтверждение, так как никто не поверит иначе.
Получив включил, посмотрел на тупящий андроид, выключил. Разобрал.
В профильной теме Armbian на ТВ бокс находим нужны йобраз и скачиваем. Я скачал Armbian_20.11_Arm-64_buster_current_5.9.9.img.xz
Заглянув по адресу https://www.debian.org/releases/ я вначале купился на bullseye релиз, не прочитав фразу:
This release started as a copy of buster, and is currently in a state called testing . This means that things should not break as badly as in unstable or experimental distributions, because packages are allowed to enter this distribution only after a certain period of time has passed, and when they don’t have any release-critical bugs filed against them. Please note that security updates for testing distribution are not yet managed by the security team. Hence, testing does not get security updates in a timely manner. You are encouraged to switch your sources.list entries from testing to buster for the time being if you need security support. See also the entry in the Security Team’s FAQ for the testing distribution.
Позже я поплотился за это и позже решил выделять отдельное время для игр с тестовыми образами. Для более менее стабильных систем я выбрал стабильный образ от debian. Позже мы устанавливаем образ на диск и читаем инструкцию:
How to run these images on the Amlogic platform .
Now all images Armbian and LE has all the files for activate the multi-boot. Anything addition to download and copy to media is not required.
1. Download the image for your device
2. Unpack
3. Burn the image on the medium
4. Configure in the file (uEnv.txt) launch parameters for the desired platform and model (uncomment the desired lines and comment out or delete unused ones)
If universal multi-upload has not yet been activated on this device, you need to activate it once. There are several options for activating multi-loading.
— Connect the prepared media to the device and turn on the power, boot into Android
— Open the app «Update&Backup»
— Click on «Select» local update and chose the file on the removable media aml_autoscript.zip
— Start «Update»
— System will reboot twice and start running the system from external media.
На последних образах изменились правила:
Pay attention. Starting from version 20.08 (20200814), the configuration order for the used DTB changes.
Please note that the algorithm for initial configuration of the system for startup has changed. Instead of a file «uEnv.txt», the file «/extlinux/extlinux.conf » is now used. The rules for editing a file remain the same.
All Amlogic models now need the «u-boot.ext» file.
Before launching on Amlogic, you must copy or rename one of the existing files «u-boot-*» to «u-boot.ext».
For s905 (not X) — used u-boot-s905
For s905x and s912 — used u-boot-s905x-s912
For s905x2 and s922 — used u-boot-s905x2-s922
— Теперь устанавливаем образ на SD карту.
— Открываем BOOT раздел на SD карте и переименовываем файл u-boot-s905x-s912 в файл u-boot.ext(на старых версиях этого делать не требовалось), затем в папке extlinux редактируем файл extlinux.conf (убираем ненужное и раскомментируем нужное). Для своей приставки я использововал meson-gxl-s905x-nexbox-a95x.dtb
— Вставляем SD карту в приставку.
-У меня загрузка начинается сразу, но я использую старый образ. Если загрузчик на приставке не обновлен, то заходим в обновление и выбираем обновление на флешке. После его установки первичная загрузка становится с флешки. Но в новых инструкциях рекомендуют зажать кнопку сброса, которая находится внутри разъема AV и включить питание приставки. После того, как на HDMI пойдет сигнал, отпустить кнопку сброса.
При желании можно установить Linux в приставку и затереть Android, что я успешно и сделал. Если что-то пошло не так, то:
Моя записная книжка
Мне попала в руки приставка 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,0×1, USB 2,0×1
• Разное: ИК-порт для внешнего приемника, светодиодный дисплей и слот для карт памяти 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), а также спецсимволы (!@#$): .
14) Подтверждаем часовой пояс:
15) Выбираем кодировку языка ввода:
16) Первоначальная настройка закончена. При желании можно выйти из системы и войти под вновь созданным пользователем.
Устанавливаем ARMBIAN на встроенную NAND-память
17) Обновляем списки пакетов
18) Проверяем и устанавливаем обновления Debian
На предложения системы соглашаемся:
19) Запускаем процесс установки на NAND
20) Выбираем ID своей приставки – по типу процессора, модели приставки и файла dtb. Для ТВ бокса x96 max это «301»:
21) Выбираем тип файловой системы:
22) Установка Armbian закончена. Теперь можно извлечь из x96 max microSD-карточку и передернуть разъем питания. Пойдет загрузка Armbian из встроенной памяти NAND.
Настройка ARMBIAN после установки
23) Снова подключаемся при помощи putty к ТВ боксу (обратите внимание, IP может измениться и быть не тот, что при загрузке с microSD-карточки).
Также смотрим версию Debian следующей командой (как видно из скриншота ниже у меня Debian 11.5)
24) Подключаем встроенный в ТВ Бокс x96 max цифровой дисплей. Для этого вводим команду:
и вводим пароль пользователя:
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. Проверяем состояние сетевых адаптеров:
28) Теперь подключаем с помощью команды
sudo nmcli dev wifi connect "dream2" password "network-password"
Где вместо » dream2 » – нужно ввести название Вашей точки доступа Wifi, а вместо » network-password » – пароль доступа к этой точке.
29) Проверить активные подключения можно командой
Теперь LAN кабель можно отключать. Приставка будет работать по WIFI.
На этом пока все. В следующей статье я расскажу как установить систему умного дома Home Assistant на x96max