На самом деле статей, как поставить Home Assistant на различные ТВ-приставки - достаточно много. Зачем же нужна ещё одна? Причин - две. Первая, это то, что я пишу это для себя - чтобы потом, когда будет необходимость ещё раз накатить armbian куда-нибудь - был более-менее подробный гайд "под себя". Вторая причина - это необходимость компиляции различных трюков и инструкций, которые мне пришлось искать в процессе настройки моей конкретной сборки.
Итак. Дано - старый пыльный Ugoos X3 Cube, SoC Amlogic S905X3, 2 гига оперативной памяти, 16 - диск. Всё необходимое для HASS - на борту: wi-fi, bluetooth, USB, LAN.
Установка Armbian
Репозиторий: https://github.com/ophub/amlogic-s9xxx-armbian
Образ Armbian_24.11.0_amlogic_s905x3_bullseye_6.6.62_server_2024.11.20
balenaEtcher
Флешим образ на флешку, минимум 4гига
После записи образа:
- меняем в uEnv.txt параметр FDT=. Ищем подходящее в папке /dtb/amlogig. У меня это meson-sm1-ugoos-x3.dtb, для вашей приставки надо найти своё подходящее.
- копируем в корне подходящий файл *.bin в u-boot.ext. У меня это u-boot-ugoos-x3.bin.
И только после этого втыкаем в приставку флешку и загружаемся. Тут надо погуглить (лучше сразу на 4pda) для каждой конкретной приставки, какие есть нюансы для загрузки с флешки. Где-то надо зажимать кнопку reset перед подачей питания, где-то не надо, где-то вообще эта кнопка спрятана в разъёме под наушники.
Я долго мучился с запуском, в большинстве случаев приставка просто загружалась в родную оболочку, а не в armbian с флешки. Опытным путём установлено, что нельзя засовывать флешку в бокс, не подготовив вышеописанные настройки uEnv и u-boot. Так же надо правильно выбрать u-boot, иначе флешка тоже игнорируется.
И вот, после многочасвоых мытарств с попыткой запустить систему с флешки, мы получаем готовый армбиан, который ничего не умеет. И у нас есть два пути - сначала всё настроить, а потом залить в eMMC, либо залить всё в eMMC, а потом всё настроить. Я рекомендую пойти первым путём, а сам пойду вторым.
armbian-install
И понеслась душа в потёмки...
Включение wifi
Самая адекватная статья, как нормально запустить Wi-Fi на дебиане:
Но это не помогло, связь постоянно отваливается, невозможно устанавливать аддоны и обновления. Вернулся на LAN, он работает из коробки.Установка Home Assistant
apt-get install jq wget curl udisks2 libglib2.0-bin network-manager dbus apparmor-utils systemd-journal-remote lsb-release bluez -y
Установка агента
Ищем самую свежую версию агента и копируем ссылку:
wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_aarch64.deb
Устанавливаем агента:
dpkg -i os-agent_1.6.0_linux_aarch64.deb
Устанавливаем докер:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
И вот тут проблемка: некоторые репозитории armbian просрочены, а у некоторых нет доверенного публичного ключа. Будем исправлять.
Исправляем отсутствие публичного ключа
sudo wget https://apt.armbian.com/armbian.key -O key
sudo gpg --dearmor < key | sudo tee /usr/share/keyrings/armbian.gpg > /dev/null
sudo chmod go+r /usr/share/keyrings/armbian.gpg
sudo echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/armbian.gpg] http://apt.armbian.com $(lsb_release -cs) main $(lsb_release -cs)-utils $(lsb_release -cs)-desktop" | sudo tee /etc/apt/sources.list.d/armbian.list
apt update
Исправляем просроченные пакеты
nano get-docker.sh
находим все команды apt-get и добавляем в конце
-o Acquire::Check-Valid-Until=false
Снова запускаем sudo sh ./get-docker.sh
sudo usermod -aG docker $USER
- качаем HASS Supervised: wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
- устанавливаем: sudo dpkg -i homeassistant-supervised.deb
Возможно будет ругаться, что чего-то не хватает. У меня не хватило cifs-utils. Надо доставить через apt install cifs-utils
И вот тут интересное. Самое близкое нашему SoC Amlogic S905X3 - это odroid-c4. Его и выберем.
И вот, наконец, заветное:
На этом можно спокойно идти спать, потому что ставиться и настраиваться оно будет долго.
Как оно в работе
В принципе, полтора месяца - полёт более-менее нормальный.
Коробочка наконец-то с комфортом разместилась в моём "серверном ящике" вместе с роутером. Места там навалом, впихивать ничего не приходится, дверцы закрываются.
Из плюсов - я забыл про отвалы устройств z2m. Не знаю уж с чем связано, но всё работает как часы.
Из минусов - из 2 гигабайт памяти приставки система видит только один. Это вызывало достаточно сильный баттхёрт в начале, когда приставка тупо уходила в кому на некоторое время, а потом так же внезапно оживала. Долгие ковыряния показали, что проблема - в маленьком дефолтном размере swap, куда система обращается в любой непонятной ситуации, в которой 970 килобайт памяти недостаточно (читай - почти всегда, когда надо что-то установить/обновить). Увеличение свопа до 2 гигабайт проблему решило и в таком режиме система проработала где-то с середины-конца декабря по текущий момент (19 января 2025).
Но всё же хочется, чтобы коробочка изначально работала на штатном железе и использовала все ресурсы, которые должны быть доступны. И этим я когда-нибудь тоже займусь. Спойлер: soon.