准备固件
定制镜像
国内用户的路由器或软路由的固件的最好选择是 ImmortalWrt,因为它默认配置了国内可访问的 opkg 仓库镜像,包含很多第三方的软件包,同时管理后台(LuCI)默认为中文。
但 ImmortalWrt 24.10.0 版本的固件在 R4S 上有一些问题,比如无法正常分配 DHCP 地址或者经常断联,导致无法正常使用。我们需要通过官方提供的自助编译平台来构建一个新的固件镜像。
-
选择对应的设备和版本,这里选择 R4S,版本选择 24.10.0。
-
点击“自定义预安装软件包和/或首次启动脚本”选项,在“预安装的软件包”文本框中,将其中的
kmod-r8168替换为kmod-r8169,修复网卡驱动问题。 -
在“预安装的软件包”文本框中继续填入以下内容,省去后续在本机下载安装这些依赖项的步骤。
Terminal window curl openssh-sftp-server luci-theme-argon luci-app-argon-config luci-i18n-argon-config-zh-cn luci-app-diskman -
点击“请求构建”按钮,等待构建完成。
-
下载 SquashFS 版本的固件。
安装 OpenWrt 官方镜像的步骤和 ImmortalWrt 类似,但 OpenWrt 官方仓库提供的软件包较少,很多软件包需要手动安装。以下是准备 OpenWrt 官方镜像的步骤,点击展开查看:
💡 如何准备 OpenWrt 官方镜像
-
选择对应的设备和版本,这里选择 R4S,版本选择 24.10.0。
-
展开“自定义预安装软件包和/或首次启动脚本”选项,填入以下内容,省去后续在本机下载安装这些依赖项的步骤。
Terminal window curl openssh-sftp-server luci-i18n-base-zh-cn block-mount luci-compat luci-lib-ipkg -
点击“请求构建”按钮,等待构建完成。
-
下载 SquashFS 版本的固件。
烧录镜像
Windows 用户可以下载 Rufus,将下载的镜像刷到一张 TF 卡里。TF 卡不用格式化,直接选择设备和镜像文件,点击开始即可。

Mac 用户可以使用 BalenaEtcher,操作类似。
刷写完成后,将 TF 卡插入机器,通电开机。
配置 SSH
- 首先将网线接入 LAN 口,等到电脑获取 IP 后,访问
192.168.1.1登录 LuCI 后台,密码为空。
Windows 下用如下命令刷新 IP,如果还是无法获取 IP,可以尝试禁用再启用网卡。
ipconfig /renew为保证路由器安全性,在后台的系统 - 控制权页面中:
- 修改登录密码
- 添加 SSH公钥(可选)

修改二级路由(可选)
我的环境中有两级路由,一级路由是主路由,二级是 R4S,用于提供代理。为了避免冲突,需要修改二级路由的 IP 地址(如下图中的 192.168.28.1)。
在网络中选择 lan 接口进行编辑
修改 IPv4 地址
应用修改后,刷新 IP 并用新 IP 访问 OpenWrt 后台,系统会提示配置应用成功,并要求重新连接。再次刷新本机 IP,确认 IP 地址更新为新设置的子网 IP 和网关后,用新 IP 再次连接 LuCI 后台,并使用新密码登录后台。
最后插入 WAN 口网线,在状态 - 概览中确认 WAN 口网卡已经识别出了 IPv4 上游地址。如果有 IPv6 也应该会识别出来。

OpenWrt 安装主题
💡 点击展开查看
由于 OpenWrt 官方仓库里没有提供,主题和其他一些工具需要通过下载 ipk 包手动安装。我们需要登录 SSH 来下载和安装它们。
通过 SSH(使用上面设定的新密码;如果上传了公钥,也可以免密码登录)进入 OpenWrt,首先更新 opkg。
opkg update如果 opkg 不能正常更新,需要替换成使用国内的仓库镜像。以浙大镜像为例:
-
备份
/etc/opkg/distfeeds.confTerminal window cp /etc/opkg/distfeeds.conf /etc/opkg/distfeeds.conf.bak -
将 distfeeds.conf 文件内容替换为下面的内容,注意要和当前 OpenWrt 版本匹配,如这里是
24.10.0Terminal window src/gz openwrt_core https://mirrors.zju.edu.cn/openwrt/releases/24.10.0/targets/rockchip/armv8/packagessrc/gz openwrt_base https://mirrors.zju.edu.cn/openwrt/releases/24.10.0/packages/aarch64_generic/basesrc/gz openwrt_kmods https://mirrors.zju.edu.cn/openwrt/releases/24.10.0/targets/rockchip/armv8/kmods/6.6.73-1-f35e93bc2c89b98d107e57cdea041972src/gz openwrt_luci https://mirrors.zju.edu.cn/openwrt/releases/24.10.0/packages/aarch64_generic/lucisrc/gz openwrt_packages https://mirrors.zju.edu.cn/openwrt/releases/24.10.0/packages/aarch64_generic/packagessrc/gz openwrt_routing https://mirrors.zju.edu.cn/openwrt/releases/24.10.0/packages/aarch64_generic/routingsrc/gz openwrt_telephony https://mirrors.zju.edu.cn/openwrt/releases/24.10.0/packages/aarch64_generic/telephony也可以在这里找到其他镜像源: OpenWRT 软件源整理 - Oskyla 烹茶室
-
再次运行
opkg update,如果能正常更新,说明镜像源替换成功。
更新成功后安装主题。依旧是在 SSH 中,运行以下命令来安装 argon 主题、主题管理工具、以及管理工具的中文包:
curl -OL https://gh-proxy.com/https://github.com/jerrykuku/luci-theme-argon/releases/download/v2.3.2/luci-theme-argon_2.3.2-r20250207_all.ipkcurl -OL https://gh-proxy.com/https://github.com/jerrykuku/luci-app-argon-config/releases/download/v0.9/luci-app-argon-config_0.9_all.ipkcurl -OL https://gh-proxy.com/https://github.com/jerrykuku/luci-app-argon-config/releases/download/v0.9/luci-i18n-argon-config-zh-cn_git-22.114.24542-d1474ba_all.ipkopkg install luci-theme-argon*.ipk luci-app-argon-config*.ipk luci-i18n-argon-config*.ipk安装时如果出现找不到
/etc/uci-defaults/*的报错信息可以忽略,目前我还没发现有什么影响。
安装完成后,刷新后台页面,可以看到界面已经改成了新主题,并且在系统里出现新的页面“Argon 主题设置”。可以考虑把壁纸来源换成 Bing 壁纸。

分区扩容
新建分区
OpenWrt 的镜像只分配了 300MB 左右的空间(因为要顾及镜像文件本身的大小)。这对于安装一些第三方软件包来说是远远不够的。我们需要将 TF 卡上剩余的空间分配给 /overlay,这样就可以安装更多的软件包了。
我们将使用 LuCI 界面工具 luci-app-diskman 来扩展分区。
💡 OpenWrt 需手动安装 diskman,点击展开
首先安装luci-app-diskman,这是一个磁盘管理工具,可以用来管理磁盘分区。
curl -OL https://gh-proxy.com/https://github.com/lisaac/luci-app-diskman/releases/download/v0.2.11/luci-app-diskman_v0.2.11_all.ipkopkg install luci-app-diskman*.ipk安装后刷新后台页面,就可以在系统看到新的磁盘管理页面。没出现的话可以退出 LuCI 再登录。
在后台界面系统分类下,找到磁盘管理工具。

磁盘列表里只有一项,就是我们的 TF 卡。点击它的“编辑”,将 Free space 创建为新的分区,调整分区大小,并格式化为 ext4格式
注意 如果只有一张 TF 卡,这里建议加两个分区,一个用于系统管理的 /overlay,一个用于 /opt存放第三方数据

可以在“容量”文本框里填入 +15g来轻松设置分区大小。

挂载分区
在系统 - 挂载点中,找到底部的挂载点分组,然后点击添加,将两个新设备(即分区)分别挂载到 /mnt/new和/opt。
注意在选择挂载点时,目标位置是可以自己填任意值的,不一定要在提供的两个选项里选一个。

添加好后,确认挂载点如下所示,然后点击“保存并应用”。

接下来我们要将 /overlay 挂载的新分区上。
由于 /overlay
是系统的关键目录,我们不能直接删除它,所以需要先将它的内容拷贝到新分区上。
在 SSH 中,通过命令行将 /overlay下所有文件拷贝到 /mnt/new:
cp -r /overlay/* /mnt/new完成后,/mnt/new下应有两个文件夹:upper 和 work。
回到系统 - 挂载点页面,还是找到挂载点分组:
- 记住
/mnt/new是挂载到哪个设备的(如我这里是/dev/mmcblk1p3),然后删除这个挂载点。 - 添加新的挂载点,选择刚才删掉的设备,挂载点选择“作为外部 overlay 使用(/overlay)”,保存。
- 把 /overlay 拖到 /opt 上面去,变成如下图的样子,然后保存并应用。

重启设备并祈祷,如果一切顺利,你会在状态-概览-存储空间使用里看到磁盘空间已经变为了你设定的大小。

后续
恭喜!🥳 你已经成功安装了 Immortal/OpenWrt,并且配置了一些常用的功能。接下来你可以:
- 安装代理软件,如 Nikki。
- 安装 Docker 或其他服务,开始发挥 R4S 的潜力。



