官方haos是Home Assistant(简称HA)智能家居软件的操作系统定制版。
haos主要是在PC主机、单板电脑(如树莓派,各种开发板)、虚拟化等环境下为HA软件提供一套易于使用、高度稳定和可快速升级的HA支撑系统。通过haos使用HA智能家居软件的模式,是Home Assistant开发官方最为推荐的HA使用模式。将大大降低HA的使用中的系统造成的麻烦,升级降级等操作风险。并降低缓解Linux系统在主存储介质为eMMC这类Flash芯片上储存寿命的问题。
不推荐采用各种标准Linux发行版包括armbian/ubuntu/debian/openwrt上,使用supervisor或者docker方式使用HA系统。原因有几个:
1. HA是智能家居系统,考虑到大量第三方设备的稳定工作和响应,需要长期稳定的24x7不停的运行环境(生产环境),HA的运行环境对于开发者是严肃的,对于使用者而言,配置一套舒服的自动化环境是需要花费大量的时间和精力的,数据安全非常重要,不是可以让用户三天两头刷系统玩,胡整和频繁拆卸各类应用,没事开关系统,不停的重启设备。这不是HA的真正使用环境。
2. 标准linux发行版功能太杂,系统各种服务众多,用户可以随意安装各种服务,全盘文件分区皆可读写,主rootfs分区很容易因为人为操作文件损坏或硬件的固定写次数过多形成系统文件错误。容易造成系统损坏,无法开机或系统不稳定。
haos定制操作系统采用不可写文件分区Squashfs作为rootfs主分区,这些措施最大限度保证了主要文件系统的稳定,确保能长期稳定使用。
3. haos有定制的专用ota升级功能,可以U盘升级和通过WebUI界面空中升级。这个升级系统采用A/B分区升级,即每次升级不是直接覆写当前分区,而是写其他分区,这就确保一旦升级中出现问题,还有回滚上一个版本操作的可能。这种A/B分区升级机制在各种高端工业、商业的嵌入式系统中是标配。但是常规linux发行版并不支持。目前仅国产deepin桌面系统有默认支持这个功能。
4. haos提供了ha专用伪shell环境作为开机默认环境,最大限度方便用户使用,也防止用户滥用命令行功能,对陌生的系统环境进行危险操作
问答:
为什么wghaos对haos的修改,不提交Home Assistant官方?
其实是这样的,首先wghaos的对haos的系统层做了大量修改和优化,熟悉国外开源系统的会清楚,开源软件对提交审核比较严格,一个补丁提交到纳入系统,经常需要1周甚至几周的审核。wghaos的很多改动,是因为国内外网络环境的差异,这种看似画蛇添足调整,很可能破坏系统的稳健行,对于第三方很难理解,而且会让HA的系统开发者产生很多不必要的质疑,需要大量的前置沟通,还有让HA核心开发者验证一下效果,而国外开发者很难理解和验证这些。很多时候,一些极小的修改往往需要几个月才能被合并到主线中。这样就是一两年也改善不了什么,所以wghaos采用了另一种方案,就是做成haos的国内分支系统。但这会导致核心一个问题,同一款硬件,如rpi3/4/5,x86_64,green等选择了wghaos版本就不能用haos版本直接升级,或用了haos版本就不能中途用wghaos ota固件升级,只能采取重做系统,利用备份和恢复进行转换。另外的原因是由于官方没有对外提供ota的证书私钥,不能认证ota升级固件签名产生的问题。
冬瓜haos如何增加对第三方盒子的支持?
冬瓜haos需要具备以下条件才能对第三方盒子进行支持,首要要有硬件,其次需要解决uboot问题,haos要求uboot的版本很新,早期的uboot固件的兼容存在问题,不能如部分armbian系统一样通过dump原版的uboot固件(无源码)启动。另外就是uboot和kernal的dts的具体配置研究。最后还要有开发工具配合,所以第三方盒子,特别是方案比较非主流的,是需要时间来解决的。
部分硬件刷机或升级出现异常,怎么解决?
首推瀚思彼岸官方或者本人的网店及未来合作渠道提供的成品进行刷机为主,最大限度降低错误风险。所有对外放出的固件,都对固件做了安装和刷机,以及主要功能的测试。但是由于,硬件细节版本差异和用户采购的可能存在硬件问题等,自行操作时有可能将错误固件刷进系统,造成系统无法引导(haos需要刷自己的uboot引导系统,一旦错误,系统将无法再引导,某些机型必须有专用硬件或者拆开外壳等方式)才能救砖,我会在后续wghaos中增加对应的中文UI维护工具,尽量防止用户错刷固件。并提供线下救砖,线上指导等服务。
原版haos转wghaos,恢复老数据数据addons出现多个怎么办?
冬瓜haos(wghaos)的addons仓库的访问地址改到国内,导致官方非核心addons的两个仓库产生的唯一值差异,从而出现多个同名addons集成。可以在仓库里,重新安装官方addons仓库(镜像下载会非常困难),删除冬瓜同名服务(需wghaos 11.5版本),或者等待冬瓜haos的“addons专用迁移工具”进行处理。亦可自己进入相关目录,将数据从addon的老目录拷贝到新目录。