开头稍微介绍一下Home Assistant的几个版本,怕大家不清楚,这里因为安装的是Supervised 版所有才会比较麻烦一些
虽然官方说唯一只支持 Debian 但是经过参考各路论坛教程还是给N1装上了
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: 这个也是全套 ,跟HAOS的区别是可以装在普通Linux上因此适合更多硬件,N1用的就是这个。安装原理就是手动把docker,Home Assistant Core、Supervisor和其他所有必要组件安装在普通Linux系统上。为了花更多精力提升HA本上而不是debug各种兼容性问题,去年官方大幅减少支持的环境,目前唯一支持的是Debian 11,否则,轻则安装完后显示“不支持的操作系统”,重则无法安装)
2023/12/8 因为Armbian_bullseye是基于Debian11开发的,Armbian_bookworm基于Debian12;后续我测试了下 同样的方法,也可以把Home Assistant Supervised装入Armbian_bookworm,找自己喜欢用的用就好,
出现的问题还是那三个问题,提示bookworm不兼容Supervised,改改文件验证通过了,就都能装,主要验证兼容性的就是那一两个文件,改了让系统通过HA Supervised 验证就能随便装随便用,按理说这通过验证的安装方法也适用与其他设备,就是dtb文件不通用
新版的固件,还有救砖工具啥的
提取码:67w5
--来自百度网盘超级会员V6的分享
首先需要准备
一个16G以上的U盘(用来装Armbian系统启动盘)
HDMI线,连接显示器查看跑码信息
有线鼠标,有线键盘
保证N1盒子全程science 网络
软件
putty
WinScp(往盒子里传文件改文件)
Win32DiskImager(把ArmBian写入U盘)或者其他同类软件 我尝试用rufus 也能行
刷机前提,是需要把N1原固件下降级到版本 **2.2以下**,已经是2.2以下就不需要降级
降级教程可以参考下面这个教程的前面部分,因为系统版本不同,降级完后,继续回到本文教程 来跟着操作
[size=0em]
一.先通过工具把Armbian刷入U盘
下载固件
Armbian_bullseye
Releases · ophub/amlogic-s9xxx-armbian
固件 关键词 s905d bullseye
同一天发布 有四五个版本,其中一个版本就是 bullseye ,然后下面找 s905d
Default username: root Default password: 1234 Install command: armbian-install Update command: armbian-update
固件选择bullseye
点开Assets,Ctrl+F搜索,s905d,会发现有两个版本,一个是5.15,一个是6.1.57,下载哪个都可,记得把sha文件也下载下来,
可以用文件校检工具打开固件来验证文件是否完整,sha文件用文本工具打开,看里面的值和校检工具出来的数值能否对上
找 s905d
我安装的版本是6.1的
下载完步骤就很简单了,就是打开Win32DiskImager 或者类似的写固件工具,插上U盘, 选取固件文件,选取U盘设备,等待刷写完成
等待U盘刷写完成
替换dtb文件 写入之后,打开U盘,如果要使用蓝牙功能,提供的 meson-gxl-s905d-phicomm-n1.dtb 文件,复制到/dtb/amlogic/ 覆盖
二、U盘启动Armbian
N1已经降级,做好ADB U盘启动的准备,
要注意,原本的N1系统联网的情况可能会自动升级,所以理想的方法是U盘启动之前,路由器不要连接外网,等U盘启动成功了马上插上路由器WAN的外网
把我提供的 N1-ADBU盘启动(傻瓜包)文件夹 复制到 C盘根目录
插上网线,通电,保证 电脑和N1盒子都连接在路由器同网段下,电脑连接无线WiFi也可以
N1盒子开机以后,插上鼠标,然后点击两到四次版本号,直到提醒 ADB功能已经打开
(鼠标键盘之类尽量插靠外面的那个USB口)
右键开始菜单打开 终端管理员
右键管理员命令提示符
然后输入
cd C:\N1-ADBU盘启动(傻瓜包)
复制代码
然后回车
然后
回车
U盘启动bat
输入显示器上,显示的N1盒子的IP地址
输入N1的ip
然后等待跑完,黑屏瞬间,插上 已经刷进固件的USB U盘
就成功U盘启动了,(插在离网口HDMI近的那个USB口)
如果错过了,就重新,用鼠标接N1,打开ADB,然后上述命令再来一次
等待Armbian系统跑代码 跑完开机,
成功的同时,记得马上把路由器的WAN口网线给插上,N1连接 全球网络,不然会影响后续操作
观察显示器的信息
新版的系统,开机成功会直接让你创建 root账户的密码,输入两次就完成创建爱你
然后会让你创建普通用户 的 用户名和密码,还有real name真实姓名?
懒得再重装去截图了,这里借鉴一下,B站up主
爱折腾的柒夏 的图
[size=0em]
设置root密码
然后会让你选个地区中文编码,这个看情况随便选就好
三、把Armbian写入N1自带的EMMC [size=0em]
打开putty软件或者其他同类的SSH工具,后续所有操作都可以在电脑上 通过这个来操作,N1上就不需要再插鼠标和键盘来操作了
putty 输入N1的ip地址
然后点击open
putty用SSH访问
然后会弹出命令窗口,输入root,还有密码
sudo -i
armbian-install
复制代码
然后会出现让你输入设备代码,我们的设备是N1,就输入101 然后回车
选择设备编号
等待最后出现Complete ,就可以断电拔掉U盘 ,然后重新开机了
显示器也可以拔掉了
四、系统更新,更新依赖,安装docker
因为这个教程,参考了两个大佬的教程,因为我也是小白 装依赖怕出问题,
两边的依赖安装命令我都输入了一次
用新设置的ip进入SSH,分别输入以下代码并回车(一行一回车)(尽量能顺畅连接国际互联网)。
安装依赖1
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
复制代码
安装依赖2
下面这里是全部一起复制 然后输入到putty
重点注意,这里下面是一整段代码,一个整体复制粘贴
apt-get install \
apparmor \
jq \
wget \
curl \
udisks2 \
libglib2.0-bin \
network-manager \
dbus \
systemd-journal-remote -y
复制代码
安装 Docker CE
curl -fsSL get.docker.com | sh
复制代码
查看 cpu架构
不出意外的话应该会显示 Architecture: aarch64
下载相应 cpu 架构的包
写这个教程的时候,架构包已经升级到1.6.0了,所以代码也是1.6.0
wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_aarch64.deb
dpkg -i os-agent_1.6.0_linux_aarch64.deb
复制代码
五、安装homeassistant-supervised
在安装homeassistant-supervised之前,
我们得做些准备 解决一下可能出现的bug
你也可以在上一步安装完aarch64架构重启之前,
先把下面可能出现的问题解决 再重启 然后安装homeassistant-supervised
问题1、systemd-resolved依赖的问题
一般我用的解决法2,
这个 systemd-resolved 依赖问题 建议用解法2,解法1可能装完还是打不开HA
解决法1,直接用忽略代码强制安装
但是得先下载,下载HA-supervised代码如下
sudo -i
wget https://github.com/home-assistant/supervised-installer/releases/download/1.5.0/homeassistant-supervised.deb
复制代码
忽略systemd-resolved,强制安装的代码如下
sudo dpkg -i --ignore-depends=systemd-resolved homeassistant-supervised.deb
复制代码
解决法2,
您可以使用equals 创建一个假的systemd 解析的 包,这将满足缺少的依赖关系。
Install equivs 安装[size=0em]
sudo apt install equivs
复制代码
Generate a template control file 生成模板控制文件
equivs-control systemd-resolved.control
复制代码
sed -i 's/<package name; defaults to equivs-dummy>/systemd-resolved/g' systemd-resolved.control
复制代码
equivs-build systemd-resolved.control
复制代码
sudo dpkg -i systemd-resolved_1.0_all.deb
复制代码
这应该满足 homeassistant-supervised 包的依赖性
问题2、grep: /etc/default/grub: 没有那个文件或目录 虽然这个问题不会影响安装,但是看着不顺眼,就顺便解决掉这个提示吧
grep: /etc/default/grub: 没有那个文件或目录
[info] Switching to cgroup v1
解决方法1
解决 /boot/cmdline.txt的问题
echo "systemd.unified_cgroup_hierarchy=false" | sudo tee /etc/default/grub
复制代码
[size=0em]
问题3、系统版本名称导致提示不兼容
系统版本名称导致提示不兼容,不允许安装
想让Supported显示Supported可以参考如下方法解决该问题。
用winscp 访问N1的地址,然后修改文件
步骤:
1. 编辑/boot/uEnv.txt,在APPEND=...的最后 同一行 输入空格后 加上:
apparmor=1 security=apparmor systemd.unified_cgroup_hierarchy=false
复制代码
2. 编辑/etc/os-release,把第一行PRETTY_NAME=...改为:
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
复制代码
3. 重启系统
[size=0em]
可以把上述三个问题都解决以后,
输入
重启,或者直接断电重启
然后正式输入下面的安装命令
最后,正式安装homeassistant-supervised
依次执行以下命令
sudo -i
wget https://github.com/home-assistant/supervised-installer/releases/download/1.5.0/homeassistant-supervised.deb
dpkg -i homeassistant-supervised.deb
复制代码
一会儿会出现以下选择架构界面,方向键选择qemuarm-64,按回车确认。
选择qemuarm-64
因为现在homeassistant-supervised更新到1.5.0,所以代码版本也改成这个
[size=0em]
慢慢等待,正常情况下,最后回出现N1 homeassistant管理的界面的地址
等待homeassistant安装完成
我这里因为路由器分配的是10.0.0.X,大家根据自己的地址 复制到浏览器访问
一般第一次安装需要等待十多分钟 homeassistant才会构建完成
构建完成,就正常顺序创建自己的家庭,还有访问用的账号密码就可以了
创建家庭
经过上面问题3的操作以后,进入homeassistant也不会弹出什么不兼容系统的问题
安装管理Docker 的 Portainer 始终还是会提示不兼容,这个没有解决办法,要么你就换别的docker管理工具
HACS(Home Assistant Community Store)即Home Assistant官方的插件商店,提供各种设备集成、前端装饰等的下载,是Home Assistant必备的插件。
2)或者在SSH中输入以下命令一键安装。
wget -O - https://get.hacs.xyz | bash -
复制代码
然后在后台界面选择“配置”-“系统”,右上角点击“重新启动”。
重启后,在“配置”-“设备与服务”中添加集成。
安装HACS
到这一步稍微停一下,在配置HACS商店 的时候,
新版多出来的第五项 打钩 一定不要选
HACS不要选
Enable experimental features, this is what eventually will become HACS 2.0.0, if you
enable it now you do not need to do anything when 2.0.0 is released
翻译:启用实验性功能,这最终将成为 HACS 2.0.0,如果您
现在启用它,当 2.0.0 发布时,您不需要做任何事情
因为新版的商店特别简洁,打开只有个搜索栏,而且汉化不完全,菜单都是英文,如果在意的话,还是不要选的好
新版界面如下
新版HACS
下面是旧版
旧版HACS
安装蓝牙驱动(可选) [size=0em]
如果需要蓝牙,那可以进行此步。前提要在第一步中替换 meson-gxl-s905d-phicomm-n1.dtb 文件。电脑上用MobaXterm、winSCP等FTP软件登录n1,把我提供的 BCM4345C0.hcd 文件放到/lib/firmware/brcm这个目录。
回到ssh,输入
,选network -> BT install 。
安装完成后,先按ESC退出到命令行,
reboot 重启。然后用hciconfig命令,
如果显示的BD ADDRESS其中一个不是0000...或者AAAA...就说明安装成功了。
再补充一下一些救砖事项的问题 还有保持Armbian系统 的状态启动U盘启动 1、救砖,刷回N1官方的包
准备好线刷工具USB_Burning_Tool
准备好原始的包,aml_upgrade_package,记得提前解压
准备好双头USB线,连接电脑和N1盒子,
因为我手里只有type-C --USB A的线,但是有个type-C U盘用的转接头,勉强也能用,但是C口转接A的那个口要插N1上,不然会没反应
双头USB
操作之前先把N1断电,然后USB线连接电脑和N1盒子
线刷工具USB_Burning_Tool,点击文件,打开烧录包 aml_upgrade_package
只勾选第一项FLASH,其他都不勾
救砖开始
双头USB线接好,点击开始 ,三秒内给N1通电
然后静待完成
如果有连上显示器的话,很快就能显示会N1原始的界面了,害怕原始界面联网自动升级的话,记得救砖操作全程 拔掉网线
[size=0em]
2.Armbian下如何修改root密码以及找回root密码
Linux下修改root密码方法
以root身份登陆,执行:
passwd 用户名
然后根据提示,输入新密码,再次输入新密码,系统会提示成功修改密码。
具体示例如下:
[root@www ~]# passwd root
Changing password for user root.
复制代码
3.如果Armbian已经写入了EMMC,然后还想从U盘启动 [size=0em]
N1插上显示器,接上键盘,hit any key5秒内,随便按键盘让跑码停下来,然后输入
U盘启动
[size=0em]
最后,真的非常感谢恩山论坛 瀚思彼岸论坛 B站 什么值得买站 github homeassistant官方论坛 的大佬热心的技术分享,在重新写新版教程的时候,也借鉴了不少大家的经验还有图片,才得以完成这个教程
大家如果有什么技术问题欢迎大家来互相交流,我也是小白,2023年才突然想买N1盒子回来试着学习下homeassistant方面的配置,想完善自己家里的智能家居系统
amlogic-s9xxx-armbian固件官方说明书,有兴趣可以翻翻看
https://github.com/ophub/amlogic-s9xxx-armbian/blob/main/documents/README.cn.md
[size=0em]