一台电脑,一个支持HDMI的显示屏,一张大于16G的TF卡,读卡器或SD卡套,USB接口的键盘(插在盒子上使用)以及需要的镜像文件、刷机工具、烧录工具和远程SHH工具。
使用作者提供的镜像和刷机工具或进入Armbian镜像网站下载下载最新的镜像和刷机工具。
本人使用的镜像是:Armbian_22.05.0-trunk_Rk3318-box_bullseye_current_5.15.34_minimal.img
2.安装armbian1
-
使用
balenaEtcher
将multitool.img
烧录到TF卡上。烧录完成后,把镜像文件复制进MULTITOOL
分区的images
文件夹里; -
将TF卡插入电视盒,连接至显示屏并插入键盘和电源线。几秒钟后,蓝色 LED 开始闪烁并出现
Multitool
; -
从菜单中选择 “
Erase flash
” 格式化盒子的所有分区; -
选择 “
Burn image to flash
”,然后选择目标设备(通常为mmcblk2
)和要刻录的镜像; -
等待刷机过程完成,然后从主菜单中选择 “
Shutdown
”; -
拔掉电源线和TF卡,将然后重新插上电源线;
-
等待 10 秒,然后 LED 应该开始闪烁并且 HDMI 将打开。第一次启动过程需要几分钟或更长时间,因为文件系统将被调整大小,所以请耐心等待登录提示。
-
首次启动时,系统会要求您输入您选择的
root
用户的密码以及普通用户的名称和密码并选择时区和WiFi
。也可以在设置完root密码后按ctrl+c
退出设置(可以用armbian-config
设置时区,语言,WiFi和其他个人设置); -
运行
rk3318-config
以配置板特定选项(可以更改CUP的运行最大频率和EMMC的频率以及板子的灯的设置); -
替换原镜像源sources.list(如果镜像源不是国内的,可以更换镜像源加速包的安装):
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo nano /etc/apt/sources.list
将以下内容粘贴至
sources.list
:deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
-
更新包索引和升级包:
sudo apt update sudo apt upgrade -y
-
安装
vim
:sudo apt install -y vim
-
安装
git
:sudo apt install -y git
-
安装
pip3
:sudo apt install -y python3-pip
替换原镜像源
pip.conf
sudo nano /etc/pip.conf #将以下内容粘贴至pip.conf [global] index-url=https://mirrors.aliyun.com/pypi/simple/
-
安装
armbian-config
:在命令行输入sudo apt install -y armbian-config
-
命令行输入
reboot
重启设备; -
如果前面没有设置时区等,通过
armbian-config
命令进入设置,选择Network
和Personal
设置WiFi和时区等; -
在
System
中可以选择CPU
选项设置CPU
最大频率和运行模式; -
恭喜你完成了
Armbian
的安装!!!
-
如果安装过
Docker
,先卸载:sudo apt-get remove docker docker-engine docker.io containerd runc
-
新刷的系统没有安装过
Docker
,先安装依赖:sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
-
信任
Docker
的GPG 公钥
:curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
-
添加软件仓库:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
下载
Docker
官方脚本,并使用阿里源进行Docker
r的安装:# 下载Docker安装脚本 sudo curl -fsSL https://get.docker.com -o get-docker.sh # 使用阿里镜像源下载并安装Docker sudo sh get-docker.sh --mirror Aliyun
-
换上阿里云的镜像加速:
if [ ! -d /etc/docker ];then sudo mkdir -p /etc/docker fi sudo tee /etc/docker/daemon.json <<-'EOF' { "log-driver": "journald", "registry-mirrors": [ "https://z096vwit.mirror.aliyuncs.com", "https://rw21enj1.mirror.aliyuncs.com", "https://dockerhub.azk8s.cn", "https://reg-mirror.qiniu.com", "https://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ] } EOF
-
把
root
用户添加到docker用户组内:sudo usermod -aG docker pi
-
重新加载
daemon.json
文件内容并重启Docker
:sudo systemctl daemon-reload sudo systemctl restart docker
-
进入
resolv.conf
修改DNS
:vim /etc/resolv.conf
:按
a
或i
进入编辑模式,在后面追加nameserver 8.8.8.8 nameserver 8.8.4.4
按
esc
键进入命令模式,输入:wq
或 按shift+z z
保存并退出。
安装:
sudo apt install -y network-manager
配置:
if [ ! -s /etc/NetworkManager/conf.d/100-disable-wifi-mac-randomization.conf ];then
cat << EOF | sudo tee /etc/NetworkManager/conf.d/100-disable-wifi-mac-randomization.conf
[connection]
wifi.mac-address-randomization=1
[device]
wifi.scan-rand-mac-address=no
EOF
fi
p.s. 如果有 ModemManage
,请禁用 ModemManage
:
# 停止ModemManager
sudo systemctl stop ModemManager
# 禁止ModemManager开机自启
sudo systemctl disable ModemManager
# 安装
sudo apt install -y apparmor-utils jq software-properties-common apt-transport-https avahi-daemon ca-certificates curl dbus socat
# 使用vim打开/boot/cmdline.txt
sudo vim /boot/cmdline.txt
# 末尾添加
apparmor=1 security=apparmor
OS-Agent
并没有在Debian的软件源内,所以我们需要使用dpkg安装。最新OS-Agent
的下载地址在这。
这里下载并安装1.3.0
版本的OS-Agent
:
# 安装依赖
apt install \
apparmor \
cifs-utils \
curl \
dbus \
jq \
libglib2.0-bin \
lsb-release \
network-manager \
nfs-common \
systemd-journal-remote \
systemd-resolved \
udisks2 \
wget -y
# 下载OS Agent 1.3.0
wget https://github.com/home-assistant/os-agent/releases/download/1.3.0/os-agent_1.3.0_linux_aarch64.deb
# 使用dpkg安装
sudo dpkg -i os-agent_1.3.0_linux_aarch64.deb
参考自https://github.com/home-assistant/supervised-installer
sudo apt-get install \
jq \
wget \
curl \
udisks2 \
libglib2.0-bin \
dbus -y
==在安装HASS前要先重启设备 :==
# 重启
reboot
1)安装HASS(不支持Supervised) & HACS2
-
搜索镜像:
docker search home-assistant
-
可以看到排在第一的 homeassistant/home-assistant 的星标最多,我们选择下载它:
docker pull homeassistant/home-assistant
-
创建容器:
docker run -d --name="hass" -v ${HOME}/hass/mac_config -p 8123:8123 homeassistant/home-assistant
- d:表示在后台运行
- name:给容器设置别名(不然会随机生成,为了方便管理);
- v:配置数据卷(容器内的数据直接映射到本地主机环境,参考路径配置);
- p:映射端口(容器内的端口直接映射到本地主机端口最后便是刚才下载的镜像了,运行该容器)。
可以把-v后面的路径改成你的本地存放该容器配置路径,运行成功会生成一串容器id;
-
查看运行状态:
docker ps
有创建容器时指定的name的记录表示已经运行成功,直接打开 ip:8123 可以进入配置你的 HomeAssistant
-
启动/停止/删除容器:
## 启动 docker start hass ## 停止 docker stop hass ## 删除(删除之前要先stop容器) docker rm -f hass ## 开机自启容器 docker update --restart=always
-
安装HACS
docker exec -it hass bash mkdir custom_components && cd custom_components && mkdir hacs && pwd git clone https://gitee.com/zhangyirui-xyz/hacsaa.git mv hacsaa/hacs_1.20.0.zip ./hacs cd hacs && unzip hacs_1.20.0.zip rm -rf hacs_1.20.0.zip cd .. && rm -rf hacsaa
-
后续步骤在下面的安装HACS中
2)安装 Home Assistant Supervised & HACS3
# 下载deb安装包
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
# 安装
sudo dpkg -i homeassistant-supervised.deb
之后,没有问题就会出现选项卡,我们选择qemuarm-64
:
p.s.安装过程可能要很久,如果还是不行,记得科学一下再重新安装。
使用docker ps
命令,查看Supervised的容器状态(如果并没有Homeassistant容器,等一段时间再试试,期间保持设备运行,Homeassistant会组建初始化完成):
进入ip:4357
,可以查看Supervised
的状态:
但此时ip:8123
无法进入Home Assisistant Supervised的管理页面,需要重启一次设备:
# 重启
sudo reboot
重启后,等待5分钟左右(第一次启动比较慢),就可以通过ip:8123
在浏览器访问了。
cd /usr/share/hassio/homeassistant
mkdir custom_components && cd custom_components && mkdir hacs
git clone https://gitee.com/zhangyirui-xyz/hacsaa.git
mv hacsaa/hacs_1.20.0.zip ./hacs
cd hacs && unzip hacs_1.20.0.zip
rm -rf hacs_1.20.0.zip
cd .. && rm -rf hacsaa
然后在管理页面,点击配置 -> 系统->重新启动,等待重启完成;
重启完成后,在配置-设备与服务-集成中点击添加集成;
在搜索框中搜索HACS,安装。(选择框全选上)
此时你要有一个github账号并登录
到此,你的HACS便安装完毕!
9.外网访问4
1、如果你家的网络是外网ip,百度搜索访问的方法。
2、如果是内网,可以内网穿透。下面介绍一种稳定的透穿方法
前提就是,你需要有一台带公网IP的设备,比如:云服务器(如:阿里云服务器、腾讯云服务器、百度云服务器、华为云服务器等)。
Frp是的原理,就是实现远程端对端的映射;所以,就需要服务端和客户端,服务端,顾名思义,就是上面提到的云服务器;客户端,就是我们自己电脑/设备。
下载对应你服务器版本的frp,一般Linux服务器都是amd64架构的。
下载对应版本的frp,此设备上使用的是arm64架构的。
你使用到的端口(包括服务端和客户端)都需要放行。具体操作看你自己的服务器的操作说明(使用了宝塔面板的记得也要在面板中放行)。
编辑frps.ini:
[common]
bind_port = 7000 # tcp端口
bind_udp_port = 7001 # udp端口,用不到可以去掉
dashboard_port = 7002 # 网页查看frp状态的端口,用不到可以去掉
vhost_http_port = 8124 # http端口,用不到可以去掉
vhost_https_port = 8125 # https端口,用不到可以去掉
max_pool_count = 10
log_file = /var/logs/frps.log
log_level = info
dashboard_user = admin
dashboard_pwd = xxxx # 你的密码
token = xxxxxx # 设置一个token,在客户端要填写同样的token才能连接成功
保存,并在终端执行(可以用screen或者nohup,来后台运行,而且方便后续打开):
nohup ./frps -c ./frps.ini
编辑frpc.ini:
[common]
server_addr = x.x.x.x # 你自己的服务器ip
server_port = 7000
token = xxxxxx # 跟你在服务器上配置的token要一样
log_file = /var/log/frpc.log
log_level = info
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6006
[HASS] # 取一个你自己看的懂的名字
type = tcp
loacl_ip = 192.168.x.x # 你的设备的内网ip
local_port = 8123
remote_port = 8120
cd /etc/systemd/system
# 服务端
sudo nano frps.service
# 客户端看
sudo nano frpc.service
[Unit]
Description= Frp Service Service
After=network.target
Wants=network.target
[Service]
User=root
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/你的frp路径/frps -c /你的frp路径/frps.ini
[Install]
WantedBy=multi-user.target
[Unit]
Description= Frp Client Service
After=network.target
Wants=network.target
[Service]
User=root
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/你的frp路径/frpc -c /你的frp路径/frpc.ini
[Install]
WantedBy=multi-user.target
保存并退出后执行下面命令:
systemctl daemon-reload # 重载系统服务
# 此处*为frps或frpc
systemctl enable *.service # 设置服务开机启动
systemctl start *.service # 启动某服务
# systemctl stop *.service # 停止某服务
# systemctl restart *.service # 重启某服务