# 1.下载定制版系统

OpenWRT默认版本是没有开启WiFi的,首次连接需要网线。但是官网提供的固件自定义功能,可以直接开启WiFi功能。

  1. 点击https://firmware-selector.openwrt.org,输入Raspberry Pi 4B/400/CM4 (64bit),一定要是64位的,不然软件会不兼容,后续性能也会受影响。版本选择最新的稳定版,不要选择snapshot版本。

  1. Github上的openwrt的编译项目,https://github.com/SuLingGG/OpenWrt-Rpi/

  • factory版本对应的是卡上没有系统的,初次刷入固件
  • sysupgrade版本是已经有openwrt进行升级的固件
  1. KoolCenter 固件下载服务器https://fw.koolcenter.com/iStoreOS/

  1. 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地址
//其他设置为默认

如果是IPv4IPv6双栈,需要在“接口>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


mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sda1 /tmp/extroot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot

依次执行完成后,使用reboot命令重启系统。

# 7.安装Docker环境

# 安装准备

#更新软件源
opkg update

# 安装docker

#安装docker进程
opkg install dockerd
#安装docker
opkg install docker
#安装dockerman
opkg install luci-app-dockerman

# 安装完整性测试

#显示系统信息
docker info

#显示docker版本号
docker version