树莓派安装OpenWRT

1.下载定制版系统

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

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

image.png

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

image.png

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

image.png

  1. https://openwrt.ai/?target=bcm27xx%2Fbcm2711&id=rpi-4

image.png

2.刷写镜像

使用树莓派官方提供的Raspberry Pi Imager将系统写入。
image.png

3.设置网络

在OpenWRT的后台中网络-接口-LAN:对LAN口进行设置
image.png

传输协议:静态地址
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分区工具

image.png
找到空间最大的那个分区,一般是最后一个

n  //表示新建一个分区
p //选择主分区
1 // 表示这是第一个分区
接受默认的分区起始点
输入分区大小,例如+2G,回车,表示分区大小为2GB
输入wq,回车,保存并退出fdisk分区工具。

image.png
对新分区进行格式化

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

依次执行完成后,使用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