先讲整理一些名词
Supervisor: (中文=管理员)原名叫HassIO/Hass.io,是用来管理和更新Home Assistant Core,管理操作系统,管理docker(HA和加载项),以及管理前三者之前的API和互动,它自己在docker容器里面,并且管理着其他容器。
Home Assistant Core:这个以前就叫Home Assistant(core=核心)
Home Assistant OS(HAOS): 以前叫HassOS,是官方为树莓派打造的基于Linux的操作系统,包含了Home Assistant core, Supervisor,也就是完整的 全套 ,可以直接安装于或者虚拟机,这是官方推荐安装方法
Home Assistant Supervised : 论坛里常说的N1装Hassio就是指这个。这个也是全套, 跟HAOS的区别是可以装在普通Linux上因此适合更多硬件。安装原理就是手动把docker,Home Assistant Core、Supervisor和其他所有必要组件安装在普通Linux系统上。为了花更多精力提升HA本上而不是debug各种兼容性问题,去年官方大幅减少支持的环境,目前唯一支持的是Debian 11,否则,轻则安装完后显示“不支持的操作系统”,重则无法安装)
而截至今天(2021年11月1日)全网所有的N1刷armbian装HA教程用的各种系统版本包括5.77,5.88等 , 现在全部不能用了! 因为新的官方脚本强制检查必备组件的存在和其版本,版本太低,就无法安装,比如Network Manager最低要1.14.6,而armbian 5.77最高支持1.10。然后5.77的Apparmor也不满足。目前官方支持的唯一系统是Debian 11 Bullseye,否则安装完就会出现Unsupported OS提示。
因此,干脆直接装debian 11!另:我是准备U盘跑长期系统,没准备安装到emmc,因为容量不够
此教程前提:1、 N1已经降级并能从USB启动 2、家里已有科学的网络环境 3、你有一个高质量U盘,我用的是闪迪CZ33 16G
一、给N1安装Debian 11 bullseye (Armbian 20.10 kernal 5.9.0)
我用的armbian官网论坛上的balbes150做的固件,我选择的是无桌面版5.9.0内核,固件直接下载链接,帖子链接,固件目录(N1选arm64)
下载完后用usb image tool制作usb启动盘
制作完成后,在电脑上进入usb盘目录修改两个文件。这里跟以前改uENV.ini的操作有所不同但目的一样。并且还需要选择跟架构对应的u-boot.ext文件。
- 修改/extlinux/extlinux.conf文本
LABEL Armbian
LINUX /zImage
INITRD /uInitrd
# aml s9xxx
FDT /dtb/amlogic/meson-gxl-s905d-phicomm-n1.dtb
APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0
- 找到u-boot-s905x-s912文件,将文件名改成u-boot.ext
(强调一下,安卓系统启动的状态下不要插入u盘)
二、插优盘到N1启动系统设置用户名密码,然后开始安装必要组件 我用的全部都是官方链接,请自己解决必要的网络环境
- 用sudo armbian-config命令改时区
(这时候可以ssh进到主机,也可以直接接键盘人工输入指令) - 输入以下命令更新系统和安装各种必要组件以及docker
sudo -i
apt update && sudo apt upgrade -y && sudo apt autoremove -y
apt --fix-broken install
apt-get install jq curl avahi-daemon apparmor-utils udisks2 libglib2.0-bin network-manager dbus wget -y
curl -fsSL get.docker.com | sh
- 输入下面两行代码安装OS agent。Supervisor通过OS agent对接操作系统,官方已经强制要求
wget https://github.com/home-assistant/os-agent/releases/download/1.2.2/os-agent_1.2.2_linux_aarch64.deb
dpkg -i os-agent_1.2.2_linux_aarch64.deb
这里的1.2.2只是我写帖子时的最新版本。所有版本网址在这里https://github.com/home-assistant/os-agent/releasesN1的架构是aarch64因此选择代码中这个文件
-
输入sudo reboot 重启
-
安装Homeassistant Supervised。 依次执行一下命令
sudo -i
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
dpkg -i homeassistant-supervised.deb
提示选machine type,选择qemuarm-64
1分钟后命令执行完毕,再过2分钟后,打开http://x.x.x.x:8123 进入web界面,会显示Homeassistant正在准备。大约5-20分钟完成安装
我的背景:完全不懂linux,只是各种搜索+按部就班。这个系统并没有安装N1蓝牙的驱动,因此没有蓝牙。如果emmc扩容了也可以装进去,欢迎补充方法
参考资料
amlogic处理器的armbian固件
如何修改dtb