Aarch64 OpenWRT运行Home Assistant OS新姿势

原创 言午菌  2023-10-30 10:14:56  阅读 952 次 评论 0 条
摘要:

前言:之前一直使用TN3399跑armbian跑HassIO(Supervisor)版,后面觉得TN3399的RK3399+4G的RAM单跑HassIO太浪费,于是想着OpenWRT+HassIO的组合来跑,确实能跑起来,但是HassIO本身报了很多不兼容的警告,看着有点烦人,而且感觉不知道会不会哪天就崩了,还是想直接使用官方推荐的Home Assistant OS来跑,但是又不想放弃OpenWRT,于是只能另辟途径,从而有了这个通过Docker来跑KVM虚拟机版Home Assistant O


前言:之前一直使用TN3399跑armbian跑HassIO(Supervisor)版,后面觉得TN3399的RK3399+4G的RAM单跑HassIO太浪费,于是想着OpenWRT+HassIO的组合来跑,确实能跑起来,但是HassIO本身报了很多不兼容的警告,看着有点烦人,而且感觉不知道会不会哪天就崩了,还是想直接使用官方推荐的Home Assistant OS来跑,但是又不想放弃OpenWRT,于是只能另辟途径,从而有了这个通过Docker来跑KVM虚拟机版Home Assistant OS的新姿势,话不多说,开始进入正题。

在开始之前,先在宿主机确认是否支持KVM虚拟化:

ls -l /dev/kvm
dmesg | grep kvm

出现如图所示则表示支持

image.png

部署:

1、拉取KVM镜像

docker pull iyonghsu/debian-libvirtkvm:latest

2、运行容器,建议使用特权模式,使用host网络,为避免容器的SSH端口与宿主机的端口冲突,我将镜像的SSH端口设定为1022

docker run --name Debian11-Haos -it -d --restart always --privileged --network host iyonghsu/debian-libvirtkvm:latest /bin/bash

3、连接容器的SSH,SSH账号/密码是:root/debian,推荐使用MobaXterm,自带X Server

4、下载 haos.xml,上传到宿主机,目录根据个人喜好自定义,我这里用的是root家目录,执行

virsh define /root/haos.xml

5、在 home-assistant/operating-system 下载最新版的HAOS,选择haos_generic-aarch64-11.1.qcow2.xz,这个是aarch64的通用版本,使用的是efi启动方式,qcow2是KVM的虚拟盘格式,能在虚拟机里启动。

image.png

6、在容器中执行命令解压文件

xz -d haos_generic-aarch64-11.1.qcow2.xz

7、在窗口执行 virt-manager ,在弹出的manager窗口可以看到haos虚拟机已经创建成功

image.png

8、选择虚拟机右键点击,点击open选项,进入虚拟机详情页,接着点击灯泡按钮

image.png

9、点击 Add Hardware 按钮,选择 Storage -> Select or create custom storage 在输入框中输入qcow2文件的全路径,Device type 选择Virtio,点击 Finish 按钮,再点击 yes 按钮

image.png

image.png

image.png

10、将网络改成桥接设备,设备名称填写你宿主机的桥接接口,openwrt一般是br-lan,armbian的话,需要自己创建桥接接口,具体可以百度或者Google搜索查看

image.png

image.png

11、点击 启动 按钮,等待几分钟可以看到启动成功,如下图2

image.png

image.png

12、在OpenWRT里找到新增主机名为 homeassistant 的IP地址,在浏览器中输入 IP地址:8123,即可看到Home Assistant增在部署中,视网络情况而定,国内网络情况估计要个好几把钟?建议到这一步直接挂一整晚,第二天再来看。

image.png

当看到下图,则表示HASS已部署成功,接下来开始进行初始化设置吧。

image.png

优化:

1、在Haos中,执行 journalctl -f 如果看到一直有 [ERROR] plugin/errors: 2 . NS: tls: DialWithDialer timed out 的报错,则需要关闭 ha dns的fallback

image.png

2、执行以下命令关闭ha dns的fallback

ha dns op --fallback=false
ha dns restart

再次执行 journalctl -f 可看到一直刷屏的 plugin/errors 已经没了

image.png

3、如果需要容器启动的同时启动虚拟机,则可以在容器的 /init.sh 文件里新增最后一行

sleep 3m && virsh start haos

 sleep 3m 是建议启动容器3分钟后再启动虚拟机,haos为虚拟机名称,如果你自己改名了,则换成自定义的虚拟机名称。

4、原磁盘文件大小只有6G,所以建议在虚拟机上再添加一个20~30G以上的磁盘文件,之后在HA的系统配置里将数据目录转移到新盘上,路径为:配置-> 系统 -> 存储-> 迁移数据磁盘 -> 选择新的数据磁盘,最后点击迁移,等待个几分钟会自动重新启动HA,耐心等待即可。

image.png

image.png

image.png

image.png

image.png

image.png

新姿势到此结束,完结撒花。


本文地址:https://blog.fanlibei.com/post/92.html
版权声明:本文为原创文章,版权归 言午菌 所有,欢迎分享本文,转载请保留出处!
NEXT:已经是最新一篇了

发表评论

还没有留言,还不快点抢沙发?