树莓派4B 折腾记 - Openwrt
Raspberry Pi 4B – OpenWRT
前言
使用的设备:Raspberry Pi 4B (2GB RAM)
【2023-11-06】的折腾内容:
刷回官方系统(现在官方系统有刷机工具了,Raspberry Pi Imager 选一选无脑刷就行)
一行命令装 RaspAP:
- 装了这个会把防火墙扬了,再开防火墙 RaspAP 会寄(也得研究防火墙配置了,对一堆需求的本懒人不友好)
根据自身的需求分析一顿还是选择了直接刷 OpenWrt,需要的功能软件啥的 OpenWrt 都有软件包能干
本人需求:
- 组建一个个人局域网(有线+无线)(主机+移动设备):树莓派自带的就一个网口,要做 WAN 口用,自带无线网卡做 AP;再买一个 USB RJ45 转接口做 LAN 口
- 挂载一个硬盘用来做 nas 当备份盘:
luci-app-samba4
- 自动接入网络,并能够根据网络通断状况调用脚本自动认证登录:
luci-app-watchcat
- 能网络唤醒主机并远程连接:
luci-app-wolplus
+ NAT 端口转发- 接入私人局域网,在外访问管理页面:
luci-app-zerotier
刷系统,找工具,安装,配置,折腾一顿突然 DHCP 跟 DNS 寄了(原因未知)
- 研究半天还是解决不了 (👴🏻属实搞不明白服务都开着就是不给 DHCP 响应
于是决定重刷解决一切稀奇古怪问题
【2025-05-28更新】:由于原来的 OpenWRT 固件出现了稀奇古怪的问题,所以再次准备重新刷固件:
- 每次开机热点无法自动启动,需要手动重启网卡才能正常
- 树莓派本身 DNS 解析异常,能 ping 通外网IP,无法解析域名(但连接热点的设备网络正常)
- docker 容器无法访问外网(外部网关无法ping通),重置网络、重启无效
固件
- 看文档先: OpenWrt 快速安装指南
- 网上冲浪寻找固件:
- 从恩山论坛上找了一些固件:
- [2023-05-28] 树莓派全系列 Raspberry Pi B/2B/3B/4B 在线定制OpenWrt固件 云插件 OTA
- 【2025-5-5】每日更新 高大全 树莓派 Raspberry Pi 5/4B/400/4CM Openwrt IPV6 固件
- plus 版本东西太多,刷了几次我这树莓派开机几分钟热点也启动不了,遗憾换掉
- mini 版本东西太少,很多模块没编译安装,继续换
- 以及在 Github 找到的固件:
- Action Openwrt 云自动编译
- 这个看起来基本也满足需求,但是配置完还是寄(又找不到热点)
- Action Openwrt 云自动编译
在经历了找固件 -> 刷固件 -> 改配置 -> 寄 -> 找固件 的几轮循环后,👴🏻终究还是选择了自己编译😓
Github 仓库:https://github.com/coolsnowwolf/lede
跟随 LEDE 仓库的 README 编译命令说明操作即可:装依赖包 -> 下载源代码 -> 更新 feeds -> 选择配置 -> 下载 dl 库 -> 编译固件
主要关注选择配置(make menuconfig
)这里,树莓派 4B 使用的是 Broadcom BCM2711,因此需要:
Target System
选择Broadcom BCM27xx
Subtarget
选择BCM2711 boards
Target Profile
选择Raspberry Pi 4B
在 Target Images
中指定内核以及根文件系统的大小(根据实际SD卡以及个人需求设置)。
其他的一些配置可以参考:https://www.bilibili.com/opus/489272396506904722
再者需要注意下载 dl 库的时候要开代理
然后便是漫长的编译。。。
关于最终输出的镜像文件(存放在 lede/bin/targets/bcm27xx/bcm2711
目录中):
1 | ├── openwrt-bcm27xx-bcm2711-rpi-4-ext4-factory.img.gz |
对比项 | squashfs | ext4 |
---|---|---|
文件系统类型 | 压缩只读 + OverlayFS 可写覆盖层 | 完全可读写 |
数据持久化方式 | 通过 /overlay 分区保存配置和新增文件 |
直接修改系统分区文件 |
安全性 | ✅ 系统核心文件只读,不易被破坏 | ⚠️ 系统文件可修改,误操作风险较高 |
升级便利性 | ✅ 直接刷写新固件,保留配置 | ⚠️ 需手动备份配置或重新设置 |
适用场景 | 路由器/网关、长期稳定运行 | 开发调试、频繁修改系统、挂载外部存储 |
存储空间占用 | ✅ 压缩格式,节省空间 | ⚠️ 未压缩,占用更多空间 |
SD卡寿命影响 | ✅ 写入量少,延长寿命 | ⚠️ 频繁写入可能缩短寿命(需搭配高耐久存储) |
推荐用户 | 普通用户、网络设备部署 | 开发者、高级用户、需要深度自定义 |
没啥特殊需求就直接刷 openwrt-bcm27xx-bcm2711-rpi-4-squashfs-factory.img.gz
了(如果是升级则选择 openwrt-bcm27xx-bcm2711-rpi-4-squashfs-sysupgrade.img.gz
)
刷!
工具:
配置
- 地址:192.168.1.1
- 用户名:root
- 密码:password
主题
首先这个主题,感觉还是 Argon 好看:https://github.com/jerrykuku/luci-theme-argon
其次主题有 bug – 换成 Design 主题之后,刷新访问就直接卡崩了,CPU 狂飙
- 还好 SSH 服务正常, 可以进去修改
/etc/config/luci
中的option mediaurlbase
设置
- 还好 SSH 服务正常, 可以进去修改
Docker
在树莓派上可以跑几个容器用来折腾好玩的:
idootop/mi-gpt
: 用来给小爱音箱接入大语言模型homeassistant/home-assistant:latest
: 折腾智能家居自动化
插件推荐
luci-app-diskman
👉 https://github.com/lisaac/luci-app-diskman/- 磁盘管理
luci-app-samba4
- SMB 文件共享:samba4 支持兼容 MacOS (配置 TimeMachine 更简单了)
luci-app-ddns-go
- ddns-go 的 openwrt 插件
luci-app-wol
- Wake On Lan 网络唤醒
luci-app-pushbot
- 全能推送 (IOS 上使用 Bark 推送很香)
luci-app-watchcat
- 可以配合自动登录校园网脚本实现掉线自动重新登录
- 检测到外网主机无法 ping 通时自动执行脚本
- 可以配合自动登录校园网脚本实现掉线自动重新登录
【2023-11-06】安装命令存档
1 | opkg update && opkg install ca-certificates zsh curl git-http vim-full luci-app-ddns-go luci-app-netdata luci-app-nginx-manager luci-app-kodexplorer luci-app-watchcat luci-app-zerotier luci-app-pushbot luci-app-wolplus luci-app-frpc luci-app-openvpn-client luci-app-diskman luci-app-unblockmusic luci-app-ttyd luci-app-vlmcsd luci-app-uugamebooster luci-app-wrtbwmon luci-app-ttyd |
踩坑
编译安装
- 选择
luci-app-samba4-server
时需要确保Network -> Filesystem -> samba4-libs
是选中的 samba36-server
和samba4-server
不能同时选中安装
- 选择
刷机完成建议先连接无线热点进管理页去配置
- 默认 wlan0 和 eth0 都属于 br-lan 网络
samba4 指定用户需要先在 /etc/passwd 中添加
- 然后
smbpasswd -a username
添加 samba 用户 - 勾选强制 root 才有权限写
- 然后
如果遇到 netdata 报错:
Access to file is not permitted: /usr/share/netdata/web//index.html
- 找到的解决方案: https://www.right.com.cn/forum/thread-4054870-1-1.html
- 修改路径所属用户为 root:
chown -R root:root /usr/share/netdata/web
- 修改路径所属用户为 root:
- 【重刷之后没遇到这个问题😅】
- 【卸载 netdata 后又重装就出现这个问题😅】
- 找到的解决方案: https://www.right.com.cn/forum/thread-4054870-1-1.html
🧨 莫名其妙突然 DHCP 和 DNS 失效 👉【2025-05-28】重新刷固件
🔥 重启遇到无线网卡第一时间无法识别导致 AP 无法开启 👉 【2025-05-28】重新刷固件
挖坑
- IPv6 【2025-05-28:继续拖着吧,目前还是用不到】