Installation HAOS avec Armbian Bookworm 12

Nico   8 min de lecture

Cet Article a été vu ... fois

Installation HAOS avec Armbian Bookworm 12

Nous sommes bientôt en 2024 et il est toujours aussi difficile d’installer Home Assistant OS sur des cartes non prises en charges. Pour le bien des test produits j’ai comme besoin d’installer HAOS sur une carte dédiée. Ça tombe bien il me reste dans les cartons une vieille carte Cubietruck donc je vais pouvoir faire des économies et ne pas investir dans un Raspberry pi.

Ce tuto te permettra d’installer facilement Home Assistant OS en utilisant ARMBIAN et l’une des cartes prises en charges par ce système, le tout sans avoir un message d’erreur dans Home Assistant et ainsi utiliser 100% du potentiel de cet assistant domestique.

Prérequis

  • Une carte prise en charge par Armbian
  • Une Sdcard de qualité
  • savoir utiliser un terminal
  • connaître un minimum la connection en SSH

Suis scrupuleusement les étapes et tout devrait bien se passer 👌

1ère étape installer Armbian

J’ai de la chance la communauté Armbian développe toujours une image pour la vieille carte Cubietruck, en l’occurance Debian 12 “Bookworm”.

SanDisk Ultra A1 carte mémoire Microsd 256 go 128 go 64 go 32 go 16 go microSDHC/SDXC UHS-I U3 V30 TF carte micro sd carte mémoire

Sdcard Sandisk

Par Sandisk

SanDisk Ultra A1 carte mémoire Microsd 256 go 128 go 64 go 32 go 16 go microSDHC/SDXC UHS-I U3 V30 TF carte micro sd carte mémoire

Rien de plus simple va sur la page dédiée, télécharge l’image et copie là sur une microsd à l’aide de Rufus ou Balena Etcher.

Si toi aussi tu possèdes une carte cubietruck et par curiosité du matériel tu trouveras des infos sur celle-ci sur le site Sunxi

Une fois l’image copiée, insère là et lance la machine, patiente une dizaine de minutes avant de te connecter sur le système en SSH ou par interface graphique si tu préfères. Perso le tuto est rédigé en utilisant un terminal et par ssh.

Si tu ne connais pas Armbian découvre la vidéo officielle de présentation:

Connection SSH et premier lancement

Il te faudra trouver l’adresse IP de ton installation. Lance un petit

ssh -p 22 ton-ip -l root

Ensuite le mot de passe par défaut de l’utilisateur root est 1234

Pour plus d’infos sur la suite du paramétrage tu peux suivre la documentation officielle

Armbian va te demander de:

  • paramétrer un nouveau mot de passe pour l’utilisateur root
  • de choisir d’installer un système de commande shell zsh ou bash à ta convenance
  • de créer un utilisateur (facultatif)
  • de créer un mot de passe pour cet utilisateur
  • de paramétrer un système de langue utilisateur (facultatif)

Préparation pour HAOS

Une fois relancée, reconnecte toi en ssh et rend toi dans la config Armbian

armbian-config

Guide utilisateur armbian-config

Si tu as la possibilitée d’installer le système sur une mémoire interne de type emmc fait le, ce n’est pas mon cas, car le cubietruck utilise une mémoire NAND et je devrais mettre un très très vieux kernel pour que celà fonctionne.

les étapes Armbian-config

  1. Mise à jour du firmware “équivalent update et upgrade” (système > firmware)
  2. Redémarrer
  3. Choix de l’ip static ou dynamique (network > ip)
  4. Installation du bluetooth (network > BT install)
  5. paramétrage de la connection wifi si nécessaire (network > wifi)

Préparation pour HAos

1 - cgroupv1

sors de Armbian afin de pouvoir paramétrer en cgroupv1. Par défaut Armbian fonctionne en cgrouv2 mais il se trouve que home assistant os tourne en cgroupv1 alors rien de plus simple rends toi dans le fichier armbianEnv.txt

nano /boot/armbianEnv.txt

et colle ce code en bas du script, n’oublie pas d’enregistrer Ctrl+X et Y

extraargs=systemd.unified_cgroup_hierarchy=0

Ce qui te donnera en exemple:

verbosity=1
bootlogo=false
console=both
disp_mode=1920x1080p60
overlay_prefix=sun7i-a20
rootdev=UUID=a0e57adf-e76d-46bf-80a3-2752008cb59f
rootfstype=ext4
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
extraargs=systemd.unified_cgroup_hierarchy=0

2 - Pretty_Name

Modifie le nom de la distribution afin qu’elle soit reconnue par HAOS

nano /etc/os-release

change PRETTY_NAME=”Armbian 23.02.2 Jammy” par PRETTY_NAME=”Debian GNU/Linux 12 (bookworm)”

n’oublie pas d’enregistrer Ctrl+X et Y

Ce qui te donnera en exemple:

PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.armbian.com"
SUPPORT_URL="https://forum.armbian.com"
BUG_REPORT_URL="https://www.armbian.com/bugs"
ARMBIAN_PRETTY_NAME="Armbian 23.11.1 bookworm"

trouver la bonne architecture

Si tu ne connais pas l’architecture ARM de ta carte ou si tu n’es pas sûre à 100%, tu pourras consulter ces deux liens ci-dessous, ce sont des wiki des architectures ARM avec tableau complet.

Architecture arm aarch32 Architecture arm cortex liens externe

Installation Home Assistant OS

Home Assistant a mis en place un tuto d’installation que tu peux suivre à la lettre il te suffiras de choisir les bonnes distributions à installer dans mon cas le cubietruck est construit autour d’une armv7 donc j’ai choisi:

  • OS-Agent en armv7
  • l’installation du supervised-installer en qemuarm

installation de supervised-installer

Petit rappel: armbian est déjà en mode root par défaut

1 - installe les dépendances

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

2 - Redémarre le système

reboot

3 - Installe Docker

curl -fsSL get.docker.com | sh

Tu auras un message qui te diras que tu utilise docker en non-root user qui fera remonter un message d’erreur dans Home Assistant lors du premier lancement. Mais pas d’inquiétude il n’y aura qu’à redémarrer Home Assistant et il rectifiera le tir automatiquement.

To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:
...
WARNING: Access to the remote API on a privileged Docker daemon is equivalent
         to root access on the host. Refer to the 'Docker daemon attack surface'
         documentation for details: https://docs.docker.com/go/attack-surface/

Si l’installation de docker sur Armbian t’intrigue n’hésite pas à consulter les infos sur la doc officielle.

4 - Installation OS-Agent

préparation du fichier temporaire de téléchargement:

mkdir /tmp/download/
chown -Rv _apt:root /tmp/download/
chmod -Rv 700 /tmp/download/
cd /tmp/download/

Télécharge la dernière release:

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

Installe là:

dpkg -i os-agent_1.6.0_linux_armv7.deb

Vérifie l’installation:

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

Tu devrais y voir un tas de lignes comme ci-dessous:

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;
  };
};

5 - Installe le supervised installer

Dernière étape de l’installation, le script supervised-installer va t’installer tous les containers nécessaire au bon fonctionnement de Home Assistant

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

enfin lorsque le script te le demandera, choisi l’architecture correspondant à tes besoins dans mon cas qemuarm.

[info] Install supervisor startup scripts
[info] Install AppArmor scripts
[info] Start Home Assistant Supervised
[info] Installing the 'ha' cli
[warn] Could not find /etc/default/grub or /boot/firmware/cmdline.txt failed to 
switch to cgroup v1
[info] Within a few minutes you will be able to reach Home Assistant at:
[info] http://homeassistant.local:8123 or using the IP address of your
[info] machine: http://ton-ip:8123

Enfin de la patience

Suivant la puissance de ta carte Home Assistant peut mettre plus ou moins de temps pour s’installer alors sois patient dans mon cas ça a pris environ 20 minutes, tu peux suivre le process en te rendant sur l’adresse indiqué en fin de script du superviseur

à ne pas oublier

Une fois que tu auras paramétrer Home Assistant, n’oublie pas de vérifier les mises à jours et comme indiqué plus haut tu devrais avoir une erreur docker non-root user, pas de panique il suffit de redémarrer homeassistant. Perso j’ai redémarré tout le système.

erreur non privilege docker utilisateur

Redémarre tout le système à partir de Home Assistant

  • compte utilisateur > activer mode avancé
  • paramètre > système > redémarrer home assistant > option avancé > Redémarrer le système
SanDisk Ultra A1 carte mémoire Microsd 256 go 128 go 64 go 32 go 16 go microSDHC/SDXC UHS-I U3 V30 TF carte micro sd carte mémoire

Sdcard Sandisk

Par Sandisk

SanDisk Ultra A1 carte mémoire Microsd 256 go 128 go 64 go 32 go 16 go microSDHC/SDXC UHS-I U3 V30 TF carte micro sd carte mémoire

Conclusion

Voilà une façon efficace d’installer Home Assistant OS sur Armbian en utilisant une carte compatible sans avoir besoin de se prendre la tête. Si comme moi tu as besoin d’utiliser ce magnifique système qu’est Home Assistant sur une carte à recycler pour effectuer tous types de tests alors ce tuto est fait pour toi.

Nico

Nico

Membre fondateur du site Haade, un passionné de domotique avec toutes les astuces qui vont biens.

commentaires