『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 13269|回复: 58

[快速入门] 2023年N1刷入Armbian,安装homeassistant(supervised)最新教程

  [复制链接]

1

主题

53

帖子

726

积分

高级会员

Rank: 4

积分
726
金钱
673
HASS币
0
发表于 2023-10-14 01:27:59 | 显示全部楼层 |阅读模式
本帖最后由 qingyu2077 于 2024-2-25 00:20 编辑

开头稍微介绍一下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以下就不需要降级

降级教程可以参考下面这个教程的前面部分,因为系统版本不同,降级完后,继续回到本文教程 来跟着操作


N1盒子系列 篇一:N1简明降级&刷机教程路由器什么值得买
https://post.smzdm.com/p/a99vxp9e/
[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

固件选择bullseye



点开Assets,Ctrl+F搜索,s905d,会发现有两个版本,一个是5.15,一个是6.1.57,下载哪个都可,记得把sha文件也下载下来,
        可以用文件校检工具打开固件来验证文件是否完整,sha文件用文本工具打开,看里面的值和校检工具出来的数值能否对上


找 s905d

找 s905d


我安装的版本是6.1的


下载完步骤就很简单了,就是打开Win32DiskImager 或者类似的写固件工具,插上U盘, 选取固件文件,选取U盘设备,等待刷写完成


等待U盘刷写完成

等待U盘刷写完成

替换dtb文件
写入之后,打开U盘,如果要使用蓝牙功能,提供的 meson-gxl-s905d-phicomm-n1.dtb 文件,复制到/dtb/amlogic/ 覆盖
        
感谢论坛大佬zsqduke提供的文件




二、U盘启动Armbian


N1已经降级,做好ADB U盘启动的准备,
        要注意,原本的N1系统联网的情况可能会自动升级,所以理想的方法是U盘启动之前,路由器不要连接外网,等U盘启动成功了马上插上路由器WAN的外网

把我提供的  N1-ADBU盘启动(傻瓜包)文件夹 复制到 C盘根目录

插上网线,通电,保证 电脑和N1盒子都连接在路由器同网段下,电脑连接无线WiFi也可以

N1盒子开机以后,插上鼠标,然后点击两到四次版本号,直到提醒 ADB功能已经打开
(鼠标键盘之类尽量插靠外面的那个USB口)

右键开始菜单打开 终端管理员

右键管理员命令提示符

右键管理员命令提示符



然后输入  

cd C:\N1-ADBU盘启动(傻瓜包)


然后回车
然后  

U盘启动.BAT

回车




U盘启动bat

U盘启动bat


输入显示器上,显示的N1盒子的IP地址

输入N1的ip

输入N1的ip

然后等待跑完,黑屏瞬间,插上 已经刷进固件的USB  U盘

就成功U盘启动了,(插在离网口HDMI近的那个USB口)

如果错过了,就重新,用鼠标接N1,打开ADB,然后上述命令再来一次




等待Armbian系统跑代码 跑完开机,
成功的同时,记得马上把路由器的WAN口网线给插上,N1连接 全球网络,不然会影响后续操作

观察显示器的信息

新版的系统,开机成功会直接让你创建 root账户的密码,输入两次就完成创建爱你

然后会让你创建普通用户 的 用户名和密码,还有real name真实姓名?


懒得再重装去截图了,这里借鉴一下,B站up主爱折腾的柒夏的图
[size=0em]​

设置root密码

设置root密码


然后会让你选个地区中文编码,这个看情况随便选就好



三、把Armbian写入N1自带的EMMC[size=0em]​


打开putty软件或者其他同类的SSH工具,后续所有操作都可以在电脑上 通过这个来操作,N1上就不需要再插鼠标和键盘来操作了

putty 输入N1的ip地址
然后点击open


putty用SSH访问

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架构


lscpu



不出意外的话应该会显示 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


  • Fix the package name  修复包名

sed -i 's/<package name; defaults to equivs-dummy>/systemd-resolved/g' systemd-resolved.control


  • Build the package  构建包

equivs-build systemd-resolved.control


  • Install it  安装它


sudo dpkg -i systemd-resolved_1.0_all.deb




这应该满足 homeassistant-supervised 包的依赖性





参考来源:Bug Report: Problems with systemd-resolved in 1.5.0 · Issue #304 · home-assistant/supervised-installer
https://github.com/home-assistant/supervised-installer/issues/304





问题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

参考来源
无法安装 homeassistant-supervised · 问题 #4 · Paraphraser/PiBuilder · GitHub
https://github.com/Paraphraser/PiBuilder/issues/4

解决方法2没有实践过,方法1比较简单,还是推荐方法1
求教安装homeassistant-supervised错误 - 『HomeAssistant』求助&解答专区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz!
https://bbs.hassbian.com/thread-16071-1-1.html
[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. 重启系统



参考来源:n1 Supervised Remake · justbin95/HA_Tutorials Wiki
https://github.com/justbin95/HA_Tutorials/wiki/n1-Supervised-Remake
[size=0em]​



可以把上述三个问题都解决以后,
输入
 sudo reboot 

重启,或者直接断电重启
然后正式输入下面的安装命令

最后,正式安装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

选择qemuarm-64


因为现在homeassistant-supervised更新到1.5.0,所以代码版本也改成这个

Releases · home-assistant/supervised-installer
https://github.com/home-assistant/supervised-installer/releases/
[size=0em]​



慢慢等待,正常情况下,最后回出现N1 homeassistant管理的界面的地址

等待homeassistant安装完成

等待homeassistant安装完成

我这里因为路由器分配的是10.0.0.X,大家根据自己的地址 复制到浏览器访问

一般第一次安装需要等待十多分钟 homeassistant才会构建完成

构建完成,就正常顺序创建自己的家庭,还有访问用的账号密码就可以了

创建家庭

创建家庭

经过上面问题3的操作以后,进入homeassistant也不会弹出什么不兼容系统的问题

安装管理Docker 的 Portainer 始终还是会提示不兼容,这个没有解决办法,要么你就换别的docker管理工具


2、安装HACS
[size=0em]​


HACS(Home Assistant Community Store)即Home Assistant官方的插件商店,提供各种设备集成、前端装饰等的下载,是Home Assistant必备的插件。

1)安装HACS可以通过 https://github.com/hacs/integration/releases/ 下载离线包,解压后将hacs文件夹通过FTP软件拷贝至/usr/share/Hassio/homeassistant/custom_components(没有此路径的话新建一个)。

2)或者在SSH中输入以下命令一键安装。

wget -O - https://get.hacs.xyz | bash -




然后在后台界面选择“配置”-“系统”,右上角点击“重新启动”。

重启后,在“配置”-“设备与服务”中添加集成。

安装HACS

安装HACS

到这一步稍微停一下,在配置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

下面是旧版

旧版HACS

旧版HACS







安装蓝牙驱动(可选)[size=0em]​


如果需要蓝牙,那可以进行此步。前提要在第一步中替换 meson-gxl-s905d-phicomm-n1.dtb 文件。电脑上用MobaXterm、winSCP等FTP软件登录n1,把我提供的 BCM4345C0.hcd 文件放到/lib/firmware/brcm这个目录。
回到ssh,输入

armbian-config


,选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

双头USB

操作之前先把N1断电,然后USB线连接电脑和N1盒子

线刷工具USB_Burning_Tool,点击文件,打开烧录包  aml_upgrade_package

只勾选第一项FLASH,其他都不勾

救砖开始

救砖开始

双头USB线接好,点击开始 ,三秒内给N1通电

然后静待完成

如果有连上显示器的话,很快就能显示会N1原始的界面了,害怕原始界面联网自动升级的话,记得救砖操作全程 拔掉网线


参考来源:N1刷完ARMBIAN想恢复EMMC超级简单线刷法,还可救砖-斐讯无线路由器以及其它斐迅网络设备-恩山无线论坛
https://www.right.com.cn/forum/thread-413863-1-1.html
[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秒内,随便按键盘让跑码停下来,然后输入
run usb_boot


U盘启动

U盘启动



参考来源:如果Armbian已经写入了EMMC,让后还想从U盘启动,用如下方法操作 - boowii - 博客园
https://www.cnblogs.com/boowii/p/15369974.html
[size=0em]​




最后,真的非常感谢恩山论坛 瀚思彼岸论坛 B站 什么值得买站 github homeassistant官方论坛 的大佬热心的技术分享,在重新写新版教程的时候,也借鉴了不少大家的经验还有图片,才得以完成这个教程

大家如果有什么技术问题欢迎大家来互相交流,我也是小白,2023年才突然想买N1盒子回来试着学习下homeassistant方面的配置,想完善自己家里的智能家居系统


amlogic-s9xxx-armbian固件官方说明书,有兴趣可以翻翻看
https://github.com/ophub/amlogic-s9xxx-armbian/blob/main/documents/README.cn.md


2021年最新N1安装HA Supervised教程(官方支持版本) - 『HomeAssistant』新手入门区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz!
https://bbs.hassbian.com/thread-14469-1-1.html
n1盒子安装官方Home Assistant Supervised(原HassIO)文字教程 - 哔哩哔哩
https://www.bilibili.com/read/cv16695201/
N1盒子系列 篇一:N1简明降级&刷机教程路由器什么值得买
https://post.smzdm.com/p/a99vxp9e/
N1刷完ARMBIAN想恢复EMMC超级简单线刷法,还可救砖-斐讯无线路由器以及其它斐迅网络设备-恩山无线论坛
https://www.right.com.cn/forum/thread-413863-1-1.html
[size=0em]​



评分

参与人数 6金钱 +53 收起 理由
yuyuye + 10 墙都不扶,就服楼主!
smldm + 5
pany4321 + 8 论坛有你更精彩!
sorrypqa + 10 感谢楼主分享!
book123 + 10 高手,这是高手!
silas3082 + 10

查看全部评分

回复

使用道具 举报

0

主题

136

帖子

1191

积分

金牌会员

Rank: 6Rank: 6

积分
1191
金钱
1055
HASS币
0
发表于 2023-10-14 02:12:40 | 显示全部楼层
牛叉,需要在看
回复

使用道具 举报

5

主题

199

帖子

881

积分

高级会员

Rank: 4

积分
881
金钱
682
HASS币
0
发表于 2023-10-14 08:05:21 来自手机 | 显示全部楼层
超详细的保姆级教程!楼主辛苦了!我原来也是用N1挂固态运行,速度很快,但是不会镜像备份,出来问题不好解决,所以开始用虚拟机了。不过如果有办法制作镜像式备份的话,我还是比较喜欢楼主方案的
回复

使用道具 举报

14

主题

262

帖子

2257

积分

金牌会员

Rank: 6Rank: 6

积分
2257
金钱
1990
HASS币
50
发表于 2023-10-14 08:30:48 | 显示全部楼层
我有两个N1盒子,目前都是U盘运行HA,等抽空试试这个。
回复

使用道具 举报

52

主题

1349

帖子

5705

积分

论坛DIY达人

积分
5705
金钱
4356
HASS币
20
发表于 2023-10-14 12:22:24 | 显示全部楼层
搞这么复杂,直接200元买个二手第4、5代的NUC或者BRIX的迷你主机不香吗?
回复

使用道具 举报

1

主题

53

帖子

726

积分

高级会员

Rank: 4

积分
726
金钱
673
HASS币
0
 楼主| 发表于 2023-10-14 14:17:47 | 显示全部楼层
hamtalk 发表于 2023-10-14 08:05
超详细的保姆级教程!楼主辛苦了!我原来也是用N1挂固态运行,速度很快,但是不会镜像备份,出来问题不好解 ...

Armbian好像又DDBR备份功能,只不过有个问题就是,MAC地址之类的通过这种方式还原会变,你可以自己去搜别人的备份
回复

使用道具 举报

1

主题

53

帖子

726

积分

高级会员

Rank: 4

积分
726
金钱
673
HASS币
0
 楼主| 发表于 2023-10-14 14:21:19 | 显示全部楼层
sorrypqa 发表于 2023-10-14 12:22
搞这么复杂,直接200元买个二手第4、5代的NUC或者BRIX的迷你主机不香吗?

现在homeassistant supervised官方支持变差了,也没办法,官方说的现在主要支持X86 Debian,这个方法也算是通过改些东西来突破下,暂时能用就将就用吧,后期不行了,再考虑换设备,N1还是挺好的,后期不用了,可以刷电视系统,看看电视啥的,也不怕吃灰
回复

使用道具 举报

11

主题

182

帖子

1458

积分

金牌会员

Rank: 6Rank: 6

积分
1458
金钱
1276
HASS币
10
发表于 2023-10-17 11:08:02 | 显示全部楼层
sorrypqa 发表于 2023-10-14 12:22
搞这么复杂,直接200元买个二手第4、5代的NUC或者BRIX的迷你主机不香吗?

是的,针对没有基础的,使用过程中出现系统性问题是很难修复的
回复

使用道具 举报

0

主题

52

帖子

583

积分

高级会员

Rank: 4

积分
583
金钱
531
HASS币
0
发表于 2023-10-17 15:30:26 | 显示全部楼层
这个可以收藏加关注
回复

使用道具 举报

2

主题

237

帖子

2380

积分

金牌会员

Rank: 6Rank: 6

积分
2380
金钱
2143
HASS币
0
发表于 2023-10-17 22:15:36 | 显示全部楼层
安装到最后一步出现如下,是怎么回事。root@armbian:~# dpkg -i homeassistant-supervised.deb
(Reading database ... 36392 files and directories currently installed.)
Preparing to unpack homeassistant-supervised.deb ...
[warn]
[warn] If you want more control over your own system, run
[warn] Home Assistant as a VM or run Home Assistant Core
[warn] via a Docker container.
[warn]
Leaving 'diversion of /etc/NetworkManager/NetworkManager.conf to /etc/NetworkManager/NetworkManager.conf.real by homeassistant-supervised'
Leaving 'diversion of /etc/NetworkManager/system-connections/default to /etc/NetworkManager/system-connections/default.real by homeassistant-supervised'
Leaving 'diversion of /etc/docker/daemon.json to /etc/docker/daemon.json.real by homeassistant-supervised'
Leaving 'diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised'
Unpacking homeassistant-supervised (1.5.0) over (1.5.0) ...
dpkg: dependency problems prevent configuration of homeassistant-supervised:
homeassistant-supervised depends on systemd-resolved; however:
  Package systemd-resolved is not installed.

dpkg: error processing package homeassistant-supervised (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
homeassistant-supervised
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-22 16:14 , Processed in 0.183794 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表