# 1. 下载定制版系统
OpenWRT 默认版本是没有开启 WiFi 的,首次连接需要网线。但是官网提供的固件自定义功能,可以直接开启 WiFi 功能。
- 点击 https://firmware-selector.openwrt.org,输入
Raspberry Pi 4B/400/CM4 (64bit)
,一定要是64
位的,不然软件会不兼容,后续性能也会受影响。版本选择最新的稳定版,不要选择snapshot
版本。
- Github 上的 openwrt 的编译项目,https://github.com/SuLingGG/OpenWrt-Rpi/
factory
版本对应的是卡上没有系统的,初次刷入固件sysupgrade
版本是已经有 openwrt 进行升级的固件
- KoolCenter 固件下载服务器 https://fw.koolcenter.com/iStoreOS/
- https://openwrt.ai/?target=bcm27xx%2Fbcm2711&id=rpi-4
# 2. 刷写镜像
使用树莓派官方提供的 Raspberry Pi Imager
将系统写入。
# 3. 设置网络
在 OpenWRT 的后台中 网络
- 接口
- LAN
:对 LAN
口进行设置
传输协议:静态地址 | |
IPv4地址:192.168.x.x //当前路由器网段,IP地址填任意一个主路由的内网IP,只要不是冲突的就可以了 | |
IPv4子网掩码:255.255.255.0 | |
IPv4网关:192.168.x.1 //路由器地址 | |
IPv4广播:192.168.x.255 | |
使用自定义的DNS服务器:192.168.x.x //路由器地址或其它DNS地址 | |
//其他设置为默认 |
如果是 IPv4
和 IPv6
双栈,需要在 “ 接口
> lan
> DHCP服务器
> IPv6设置
” 中,找到本地 IPV6 DNS 服务器
,将 通告该设备为 IPv6 DNS 服务器
的勾选去掉,否则 IPv6
将优先于 IPv4
继续转发,从而使旁路由功能失效。
# 4. 更新与安装必要软件包
使用 SSH
进入 OpenWRT 进行更新而不是网页,网页有时候可能会因为网络波动而报错。
执行以下命令,更新系统并安装必要软件:
opkg update | |
opkg install cfdisk fdisk block-mount |
# 5. 更换语言为中文
OpenWRT 默认是英文,换成中文需要安装中文包,执行一下命令,然后重启系统
opkg install luci-i18n-base-zh-cn # 安装中文包 | |
reboot # 重启系统 |
# 6. 分区扩容
连接 SSH
后在 SHELL
命令行下输入以下命令:
#更新软件源 | |
opkg update | |
#下载所有软件包 | |
opkg install cfdisk resize2fs block-mount fdisk |
SSH
中执行:
fdisk -l |
将看到类似如下的内容:
Device Boot Start End Sectors Size Id Type | |
/dev/mmcblk0p1 * 65536 131071 65536 64M 83 Linux | |
/dev/mmcblk0p2 196608 1425407 1228800 100M 83 Linux |
以上输出还有很多内容,找到 SD
卡的名字(盘符),比如上述的就是 mmcblk0
,执行分区和扩容操作:
fdisk /dev/mmcblk0 //fdisk分区工具 |
找到空间最大的那个分区,一般是最后一个
n //表示新建一个分区 | |
p //选择主分区 | |
1 // 表示这是第一个分区 | |
接受默认的分区起始点 | |
输入分区大小,例如+2G,回车,表示分区大小为2GB | |
输入wq,回车,保存并退出fdisk分区工具。 |
对新分区进行格式化
mkfs.ext4 /dev/mmcblk0p3 |
在系统的 “ 系统
> 挂载点
” 里面,先点击 “ 生成配置
”,随后在下方的 “ 挂载点
” 部分,选中刚才的新分区,然后点击新增。
在弹出的页面中, 启用
此挂载点, UUID
就选择刚才的新分区,挂载点选择 /
,会弹出一堆命令,复制下来。
点击保存并应用。
mkdir -p /tmp/introot | |
mkdir -p /tmp/extroot | |
mount --bind / /tmp/introot | |
mount /dev/mmcblk0p3 /tmp/extroot | |
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf - | |
umount /tmp/introot | |
umount /tmp/extroot | |
mkdir -p /tmp/introot | |
mkdir -p /tmp/extroot | |
mount --bind / /tmp/introot | |
mount /dev/mmcblk0p3 /tmp/extroot | |
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf - | |
umount /tmp/introot | |
umount /tmp/extroot |
# 7. 安装 Docker 环境
# 安装准备
#更新软件源 | |
opkg update |
# 安装 docker
#安装 docker 进程 | |
opkg install dockerd | |
#安装 docker | |
opkg install docker | |
#安装 dockerman | |
opkg install luci-app-dockerman |
# 安装完整性测试
#显示系统信息 | |
docker info | |
#显示 docker 版本号 | |
docker version |