bonjour,
comme mon titre l’indique, je cherche à installer HA OS sur un Raspberry Pi 4 dans une machine virtuelle KVM (ceci car HA Supervisor que j’utilise actuellement va être abandonné)
Tout va bien jusqu’au lancement de la VM (virt-install …)
Là je ne m’en sors plus ![]()
Quelqu’un a-t-il réalisé cela ?
Cordialement
Le Raspberry Pi 4 n’est pas concerné par l’abandon du support des systèmes 32 bits.
- Assure toi que l’image disque est correctement configurée et accessible par la machine virtuelle.
- Vérifie les paramètres réseau de la machine virtuelle pour vous assurer qu’elle peut accéder au réseau.
- vérifie les logs de KVM pour plus de détails sur ce qui pourrait mal se passer.
Et pourquoi tout simplement ne pas utiliser HAos qui est natif sur rpi ?
Sinon oui quelques log de démarrage de la vp n’est pas de refus
c’est HA Superviseur qui est aussi abandonné
et comme j’ai un autre applicatif qui tourne sur le RPi4, j’ai besoin d’une machine double Linux+HA.
Demain, j’essaierai de reprendre la manip avec KVM.
Où je trouve les logs de KVM ?
Cordialement
C’est surtout que ce n’est plus supporte mais il n’est pas abandonné
Les logs de virt manager se trouve dans. $HOME/.virt-manager/virt-manager.log
Et les logs des VM sont dans /var/log/libvirt/qemu
Hello.
Perso j’ai déjà du mal à la base à me faire à l’idée de partager la machine avec ‹ un autre applicatif › dans la même environnement. Mais je trouve l’idée de mettre des VM comme n’étant pas la plus optimal. Au pire, tu passes en version docker, et tu gère toi même les container, mais ajouter une couche de virtualisation en plus, ça va tout dégrader.
Autre solution, mettre un 2ème pi (pour l’autre ap, à voir quelles ressources il faut ) ou passer sur un mini PC qui là sera assez robuste pour faire de virtualisation efficace… Et au passage basculer sur un truc supporté
bonjour,
suite :
je lance KVM avec
sudo virt-install \
--name haos \
--memory 2048 \
--vcpus 2 \
--os-variant debianbullseye \
--import \
--disk path=/var/lib/libvirt/images/haos_generic-aarch64-15.2.qcow2,format=qcow2,bus=virtio \
--graphics none \
--network network=default \
--arch aarch64 \
--cpu host \
--machine virt \
--boot uefi \
--console pty,target_type=serial
et j’ai le retour :
Starting install...
ERROR unsupported configuration: CPU mode 'host-model' for aarch64 kvm domain on aarch64 host is not supported by hypervisor
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start haos
otherwise, please restart your installation.
avec
cat /var/log/libvirt/qemu/haos.log
2025-06-16 07:43:35.319+0000: shutting down, reason=failed
une idée ?
cordialement
pour les hôtes en aarch64 il faut passer en host-passthrough
j’ai tout repris avec une SD carte vierge.
avec la commande :
sudo virt-install \
--name haos \
--memory 2048 \
--vcpus 2 \
--os-variant debianbullseye \
--import \
--disk path=/var/lib/libvirt/images/haos_generic-aarch64-15.2.qcow2,format=qcow2,bus=virtio \
--graphics none \
--network network=default \
--arch aarch64 \
--cpu max \
--machine virt \
--boot uefi \
--console pty,target_type=serial
c’est parti sans erreur
après un boot assez verbeux (mais qui semble normal)
j’ai le message :
Welcome to Home Assistant
homeassistant login:
que mettre comme login/password, je n’ai rien spécifié à la config !!!
bizarrement virsh list ne voit pas ma VM haos !
Sur l’invite homeassistant login:, tu appuyer sur entrée , pas de mot de passe par défaut, pour l’invite suivante tu tapes ‹ root › puis Entrée , la ligne de commande ha > devrait apparaître.
je suis loggé, merci
ha banner
me dit que ma machine est en 192.168.122.30
sur la machine hôte http://127.0.0.1:8123 m’ouvre bien HA
mais sur une autre machine du réseau, 192.168.122.30:8123 ne répond pas !!!
même avec http://homeassistant.local:8123/
tu dois connecter la VM à un bridge réseau, pas au réseau NAT
Sinon il faut modifier ton réseau
Tu vas être emmerdé par le suite a etre sur un réseau naté
Fait créer un nouveau bridge et attacher ta VM dessus
Ça ne peut pas marcher le mdns ne se route pas (sans proxy mdns)
en finale, j’ai un lancement ok
#!/bin/bash
# kvm_start.sh
# 1iere fois
if [ x$1 = "x1" ]
then
sudo virt-install \
--name haos \
--memory 4096 \
--vcpus 2 \
--os-variant debianbullseye \
--import \
--disk path=/var/lib/libvirt/images/haos_generic-aarch64-15.2.qcow2,format=qcow2,bus=virtio \
--graphics none \
--network network=default \
--arch aarch64 \
--cpu max \
--machine virt \
--boot uefi \
--console pty,target_type=serial
else
sudo virsh start haos
sudo virsh console haos
fi
Tu as créé un nouveau réseau pour que ta clé ne soit plus natée ?
depuis le début, je suis en Wifi
or il y a un problème pour faire un bridge réseau ou un réseau NAT dans ce cas
je vais essayer, je pense dans la journée, de refaire la manip avec un réseau Ethernet
non pas de soucis particulier juste si tu es connecte en SSH tu vas perdre la connexion pendant que tu configure ton bridge mais si tu peux faire ses manipulations en local pas de soucis
alors là
je suis sec et perdu
pas de bridge, rien de spécifié en config réseau
état de mon réseau (j’ai supprimé tout ce qui est en IPv6) :
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.93 netmask 255.255.255.0 broadcast 192.168.1.255
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.92 netmask 255.255.255.0 broadcast 192.168.1.255
option de virt-install : --network network=default
et :
virsh domifaddr "haos" --source agent 2>/dev/null
Name MAC address Protocol Address
-------------------------------------------------------------------------------
lo 00:00:00:00:00:00 ipv4 127.0.0.1/8
- - ipv6 ::1/128
enp1s0 ................. ipv4 192.168.122.193/24
- - ipv6 ...
docker0 ................. ipv4 172.30.232.1/23
- - ipv6 ...
hassio ................. ipv4 172.30.32.1/23
- - ipv6 ...
veth702d5c2 ...
vetha8781db ...
veth855c73e ...
veth993a7fd ...
veth63adb37 ...
vethd57de71 ...
http://homeassistant.local:8123 et http://192.168.122.193:8123 sont ok
à partir d’une autre machine, seules 192.168.1.92 et 192.168.1.93 répondent au ping
j’y suis
![]()
ça y est, ma machine est vue sur le réseau
ma version…
déclaration du bridge réseau :
dans /etc/systemd/network, ajouter les 3 fichiers :
# /etc/systemd/network/bridge-br0.netdev
[NetDev]
Name=br0
Kind=bridge
# /etc/systemd/network/br0.network
[Match]
Name=br0
[Network]
Address=192.168.1.110/24
Gateway=192.168.1.1
DNS=192.168.1.1
# /etc/systemd/network/eth0.network
[Match]
Name=eth0
[Network]
Bridge=br0
ATTENTION: il faut un réseau Ethernet, pas de Wifi
puis réinitialiser le démon réseau
sudo systemctl restart systemd-networkd
une fois la machine virtuelle démarrée, établir le routage :
#!/bin/bash
#
# redir_haos.sh
# pour les ports spécifiés, redirection de l'IPv4 de la VM HAOS vers l'IP de la machine
# indispensable si le bridge br0 est en DHCP
#
# a faire 1 seule fois car les routages sont persistants
# nom de la VM
VM_NAME="haos"
# ports rediriges : HA, Samba
TABLE_PORTS=(8123 445)
# Verifie que virsh est installe (sinon pas de VM possible)
if ! command -v virsh &>/dev/null; then
echo "virsh n'est pas installe. Abandon"
exit 1
fi
# Recupere l'adresse IP de la VM
IP_VM=$(sudo virsh domifaddr "$VM_NAME" --source agent 2>/dev/null | awk '/ipv4/ {print $4}' | awk '/192.168/ {print $1}' | cut -d/ -f1)
if [ -z "$IP_VM" ]; then
echo "Impossible de recuperer l'IP de la VM '$VM_NAME'"
echo "la VM est demarree et que les guest tools sont installes ?"
exit 1
fi
echo "IP de la VM : $IP_VM"
# Supprimer les anciennes regles vers le port 8123
echo "Nettoyage des anciennes regles iptables..."
for port in "${TABLE_PORTS[@]}"; do
# PREROUTING
sudo iptables -t nat -D PREROUTING -p tcp --dport "$port" -j DNAT --to-destination "$IP_VM:$port" 2>/dev/null
# Supprime toute regle DNAT vers le port 8123
sudo iptables -t nat -S PREROUTING | grep -- "--dport $port" | while read -r rule; do
sudo iptables -t nat ${rule/-A/-D}
done
# POSTROUTING
sudo iptables -t nat -D POSTROUTING -p tcp -d "$IP_VM" --dport "$port" -j MASQUERADE 2>/dev/null
sudo iptables -t nat -S POSTROUTING | grep -- "--dport $port" | while read -r rule; do
sudo iptables -t nat ${rule/-A/-D}
done
done
# Ajoute les nouvelles regles
echo "Ajout des nouvelles regles iptables..."
for port in "${TABLE_PORTS[@]}"; do
sudo iptables -t nat -A PREROUTING -p tcp --dport "$port" -j DNAT --to-destination "$IP_VM:$port"
sudo iptables -t nat -A POSTROUTING -p tcp -d "$IP_VM" --dport "$port" -j MASQUERADE
done
# Rendre les regles persistantes
echo "Sauvegarde des regles iptables..."
sudo apt install -y iptables-persistent
sudo netfilter-persistent save
# Resultat
echo ----------------------------
adresses_ip=$(hostname -I)
echo pour les adresses :
for ip in $adresses_ip; do
# Utiliser une expression reguliere pour verifier si l'adresse IP est de type IPv4
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
echo " $ip"
fi
done
echo redirection des ports :
for port in "${TABLE_PORTS[@]}"; do
echo " $port"
done
j’ai 3 adresses du réseau local qui sont routées vers ma machine virtuelle :
- accès par Ethernet
- accès par Wifi
- accès par l’IP créée dans le bridge : 192.168.1.110
je peux accéder ma machine par l’interface browser de HA (port 8123), par le réseau (Samba intégré dans les modules complémentaires)
j’ai aussi accès au Linux de base de ma machine (SSH, VNC,…suivant ce qui a été installé)
petite prise de tête mais je suis content du résultat ![]()