Прежде чем мне удалось установить последнюю версию 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.
Как только вы увидели экран входа в систему - установка завершена.
P.S. Впоследствии ради спортивного интереса я установил на этого малыша полный набор приложений домашнего сервере который описан в цикле статей: "Домашний сервер - это просто". К моему удивлению он выжил и даже оказался работоспособным. Узким местом оказался сетевой интерфейс - всего 9 мегабайт в секунду при копировании файлов.