Найти в Дзене
HASSStas: Рецепты HomeAssistant

На сцене: Home Assistant на Armbian!

На самом деле статей, как поставить Home Assistant на различные ТВ-приставки - достаточно много. Зачем же нужна ещё одна? Причин - две. Первая, это то, что я пишу это для себя - чтобы потом, когда будет необходимость ещё раз накатить armbian куда-нибудь - был более-менее подробный гайд "под себя". Вторая причина - это необходимость компиляции различных трюков и инструкций, которые мне пришлось искать в процессе настройки моей конкретной сборки. Итак. Дано - старый пыльный Ugoos X3 Cube, SoC Amlogic S905X3, 2 гига оперативной памяти, 16 - диск. Всё необходимое для HASS - на борту: wi-fi, bluetooth, USB, LAN. Репозиторий: https://github.com/ophub/amlogic-s9xxx-armbian Образ Armbian_24.11.0_amlogic_s905x3_bullseye_6.6.62_server_2024.11.20 balenaEtcher Флешим образ на флешку, минимум 4гига После записи образа: И только после этого втыкаем в приставку флешку и загружаемся. Тут надо погуглить (лучше сразу на 4pda) для каждой конкретной приставки, какие есть нюансы для загрузки с флешки. Где-
Оглавление

На самом деле статей, как поставить 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 на дебиане:

Connect to Wi-Fi From Terminal on Debian 11/10 with WPA Supplicant

Но это не помогло, связь постоянно отваливается, невозможно устанавливать аддоны и обновления. Вернулся на 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

Установка агента

Ищем самую свежую версию агента и копируем ссылку:

Releases · home-assistant/os-agent

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. Его и выберем.

-2

И вот, наконец, заветное:

-3

На этом можно спокойно идти спать, потому что ставиться и настраиваться оно будет долго.

Как оно в работе

В принципе, полтора месяца - полёт более-менее нормальный.

Коробочка наконец-то с комфортом разместилась в моём "серверном ящике" вместе с роутером. Места там навалом, впихивать ничего не приходится, дверцы закрываются.

Из плюсов - я забыл про отвалы устройств z2m. Не знаю уж с чем связано, но всё работает как часы.

Из минусов - из 2 гигабайт памяти приставки система видит только один. Это вызывало достаточно сильный баттхёрт в начале, когда приставка тупо уходила в кому на некоторое время, а потом так же внезапно оживала. Долгие ковыряния показали, что проблема - в маленьком дефолтном размере swap, куда система обращается в любой непонятной ситуации, в которой 970 килобайт памяти недостаточно (читай - почти всегда, когда надо что-то установить/обновить). Увеличение свопа до 2 гигабайт проблему решило и в таком режиме система проработала где-то с середины-конца декабря по текущий момент (19 января 2025).

Но всё же хочется, чтобы коробочка изначально работала на штатном железе и использовала все ресурсы, которые должны быть доступны. И этим я когда-нибудь тоже займусь. Спойлер: soon.