跳到文章

NanoPi R5S X OpenWRT

本来这几年都在使用 Koolshare 改的固件 + MerlinClash 猫咪爬梯, 但是使用的时候需要经常切换 WiFi 过于麻烦

三级路由器 GT-AC5300 的三方固件也已经无人维护许久, 至此终于入了友善的 NanoPi R5S 来做旁路由

华硕的败家之眼回归官方固件

固件定制

选了 https://supes.top 在线定制的服务, 因为可以提前配置好旁路由和网关等信息, 刷写固件之后无需插拔网线或修改 IP 配置, 省心许多

免费版提供的功能足够使用, 纯粹是支持作者买了永久赞助

这是我选择的配置选项:

# 所需软件包 luci-app-turboacc luci-app-dockerman luci-app-poweroff luci-app-diskman luci-app-samba4 luci-app-rclone luci-app-qbittorrent luci-app-ramfree luci-app-ttyd

# 互联网 ✔ OpenClash

# 后台地址 192.168.自定义

# 后台密码 ········

# 旁路由模式 ✔

# IPv4 网关 192.168.上级路由 IP

# DHCP 服务器 ❌

# EMMC固件(eflasher) ✔

# 主机名 随你便, Samba 共享的主机名

# 根目录(Overlay)容量(M) 不建议修改

定制固件的 sha256sum 与下载的镜像不符忽略即可, 使用 balenaEtcher 刷入 TF 卡

如果你想刷鞋 eMMC 可以到看 FriendlyElec Wiki 写的足够详细

安装 Home Assistant

Home Assistant 是折磨了蛮久, 主要是 HA 的官方安装文档没用

整个摸索过程中最坑人的问题就是与 aarch64 Supervisor 配套的容器是 qemuarm-64-homeassistant

# 提前拉取镜像, 这里的版本请根据实际情况修改, 不然设置中会持续提示你更新

docker pull ghcr.io/home-assistant/aarch64-hassio-supervisor:2022.07.0

# hassio 存储文件的位置, 你需要创建 jobs.json 解决 system is not healthy 问题

vi /sda1/data/hassio/jobs.json

# 写入下面一行内容
{"ignore_conditions": ["healthy"]}

# 运行 hassio 后等待自动镜像和运行容器
docker run -d --name hassio --privileged \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /var/run/dbus:/var/run/dbus \
    -v /sda1/data/hassio:/data \
    -e SUPERVISOR_SHARE="/sda1/data/hassio" \
    -e SUPERVISOR_NAME=hassio \
    -e HOMEASSISTANT_REPOSITORY="homeassistant/qemuarm-64-homeassistant" \
    --restart unless-stopped ghcr.io/home-assistant/aarch64-hassio-supervisor:2022.07.0

解决 hassio_audio 占满内存 ln -s /proc/self/fd /dev/fd

安装 Home Assistant Community Store

主要是方便安装 Tesla 集成, 不需要可跳过

# 进入容器
docker exec -it homeassistant bash

# 安装 HACS
wget -O - https://get.hacs.xyz | bash -

# 根据 Tesla 集成作者步骤操作即可
https://github.com/alandtse/tesla#installation

# 增加集成时国区用户记得修改域名为 https://auth.tesla.cn

更新 Home Assistant Supervisor

如果你的 supervisor 镜像需要更新, 可以按此操作

# 注意修改镜像 tag
docker pull ghcr.io/home-assistant/aarch64-hassio-supervisor:2022.07.0
docker inspect hassio
docker kill hassio
docker rm hassio
docker run -d --name hassio --privileged \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /var/run/dbus:/var/run/dbus \
 -v /sda1/data/hassio:/data \
 -e SUPERVISOR_SHARE="/sda1/data/hassio" \
 -e SUPERVISOR_NAME=hassio \
 -e HOMEASSISTANT_REPOSITORY="homeassistant/qemuarm-64-homeassistant" \
 --restart unless-stopped ghcr.io/home-assistant/aarch64-hassio-supervisor:2022.07.0

Rclone 配置

推荐在桌面配置好 rclone.conf 后上传, 卸载默认安装的两个面板, 使用它们到时候遇到的错误只能查看 log 解决

如果你遇到 fuse: failed to open /dev/fuse: Permission denied 权限问题, 可以在 ttyd 中执行 chmod a+rw /dev/fuse

挂载同样不要使用 webui, 执行 rclone --config=/etc/rclone/rclone.conf mount mega: /sda1/mega --allow-other --allow-non-empty --vfs-cache-mode writes &

Samba 4 配置

建议的配置如下

# 允许旧协议与身份验证(不安全) ✔

# 增加 OpenWRT 用户, 通过 useradd 需要在软件包中安装 shadow
# 修改文件增加用户

vi /etc/passwd

# 在文件尾部增加行

samba❌1000:1000::/home/samba:

# 增加 Samba 用户

smbpasswd -a samba

# 共享文件夹 share 无写入权限

chmod 777 /share

NFS Windows 挂载

使用 New-PSDrive

  1. 安装高版本 Powershell

  2. 安装 Windows Terminal

  3. 在 Terminal 中的 Powershell 运行 New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\192.168[OpenWRT IP]\mnt\[Path]"

注意: 不是 Windows Powsershell 不然只会在 Powershell 环境中生效, 资源管理器中不可用

Last updated:
标签: tech