Найти в Дзене
Руки не для скуки

Cubie Assistant: Установка Home Assistant Supervised на Cubieboard 2

-2

Прежде чем мне удалось установить последнюю версию Home Assistant Supervised на Cubieboard 2 я перепробовал не один дистрибутив Linux и на всех кроме Armbian 23.11.1 bookworm потерпел неудачу - процесс установки завершался с ошибкой или зависал.

Armbian 23.11.1 bookworm можно скачать по ссылке: Armbian 23.11.1 bookworm с официальной страницы проекта Armbian: https://www.armbian.com/cubieboard-2/

Для записи на SD-карту используем balenaEtcher: https://etcher.balena.io/

При первом запуске Armbian попросит задать пароль для root, создать нового пользователя и выбрать языковую локаль. Наша - ru_RU.UTF-8. Это займет некоторое время.

Обновляем систему :

apt update && apt upgrade -y

Придется немного подождать.

Устанавливаем утилиту для настройки armbian :

apt install armbian-config -y

В нем можно изменить массу системных настроек. В последствии может пригодиться.

и запускаем для завершения установки.

armbian-config

При первом запуске будет задан вопрос по утилиту iPerf3. Я ответил нет, поскольку не особо надо.

iPerf3 — консольная утилита. С ее помощью можно измерить максимальную пропускную способность сети между сервером Ви клиентом или провести нагрузочное тестирование канала связи для определения уровня потерь.

Перезагружаем Cubieboard:

reboot

Авторизуемся под пользователем и паролем, которого мы создали при первом запуске Armbian.

Далее меняем пользователя на суперпользователя (root). Для этого вводим в командную строку

su -

Debian запросит пароль суперпользователя который вы указали при упри первом запуске Armbian.

Подготовка к установке Home-Assistant

Для того чтобы обмануть Home-Assistant нам необходимо изменить заголовок системы:

nano /etc/os-release

и привести с переменную PRETTY_NAME в следующий вид:

PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"

И сохраняем (Ctrl +O).

Далее в файл /boot/armbianEnv.txt необходимо добавить дополнительную директиву.

Открываем файл:

nano /boot/armbianEnv.txt

и в конец добавляем:

extraargs=systemd.unified_cgroup_hierarchy=0

И сохраняем (Ctrl +O).

Установка зависимостей

apt install apparmor jq wget curl cifs-utils udisks2 libglib2.0-bin network-manager nfs-common dbus lsb-release systemd-journal-remote systemd-resolved -y

Перезапускаем службу systemd-resolved выполняющую разрешение сетевых имён для локальных приложений:

systemctl restart systemd-resolved

Установка Docker:

curl -fsSL get.docker.com | sh

Это довольно долгий процесс. Может показаться, что он завис. Наберитесь терпения. После завершения лучше перезапустить сервер:

reboot

Установка home-assistant os-agent

На [странице OS Agent] смотрим номер последней версии и вставляем его в команды ниже (на данный момент актуальна версия 1.6.0). Скачиваем и устанавливаем:

wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_armv7.deb

Как видите для Cubieboard 2 необходима версия armv7

Возможно зависание загрузки на ....199.110.133|:443... connected.

В этом случае прервите установку : Ctrl+C.

Чтобы решить проблему, необходимо внести правки в файл resolved.conf:

sudo nano /etc/systemd/resolved.conf

В открывшемся файле необходимо раскомментировать (убрать в начале строки символ # если он там есть) и подправить строку DNS, указав адрес вашего роутера, например:

DNS=192.168.1.1

И сохраняем (Ctrl +O).

Перезапускаем systemd-resolved:

sudo systemctl restart systemd-resolved

И снова запускаем:

wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_armv7.deb

Устанавливаем OS-agent:

dpkg -i os-agent_1.6.0_linux_armv7.deb

Проверяем инсталляцию:

gdbus introspect --system --dest io.hass.os --object-path /io/hass/os

Должно быть что-то вроде этого:

node /io/hass/os {
interface org.freedesktop.DBus.Introspectable {
methods:
Introspect(out s out);
signals:
...
signals:
properties:
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly s Version = '1.6.0';
@org.freedesktop.DBus.Property.EmitsChangedSignal("true")
readwrite b Diagnostics = false;
};
};

Установка Home Assistant Supervised

Скачиваем и устанавливаем последнюю версию

sudo wget -O homeassistant-supervised.deb https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb

Устанавливаем

sudo apt install ./homeassistant-supervised.deb -y

Когда установщик попросит выбрать архитектуру - укажите qemuarm

В конце установки может появиться предупреждение:

"файл «/root/homeassistant-supervised.deb» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)

Установка завершается успешно, предупреждение можно игнорировать

Время установки обычно в пределах 5 минут, но на Cubieboard установка длится значительно дольше - минут 20 точно. Вы можете проверить ход настройки Home Assistant, подключившись к Cubieboard по IP-адресу в любом браузере через порт 8123 (http://CubieboardIP:8123). Какое-то время браузер будет показывать пустой экран или ошибку, после чего появится сообщение об установке Home Assistant.

Как только вы увидели экран входа в систему - установка завершена.

-3

P.S. Впоследствии ради спортивного интереса я установил на этого малыша полный набор приложений домашнего сервере который описан в цикле статей: "Домашний сервер - это просто". К моему удивлению он выжил и даже оказался работоспособным. Узким местом оказался сетевой интерфейс - всего 9 мегабайт в секунду при копировании файлов.