OpenWrt软路由(NanoPi For NAS All In One R2S ):固件安装和扩容(Squashfs)

NO.1
openWrt固件

网上的固件贴子

https://www.right.com.cn/forum/thread-8250453-1-1.html

对应的github地址

https://github.com/sirpdboy/openwrt/tree/master

在Readme有恩山 sirpdboy提供的github免费的固件的地址(检索页面123云盘关键字即可)

本文使用的为下图红框部分固件(R2S)

img

下载后对zip固件进行加解压

获取到以下文件

openwrt-rockchip-armv8-friendlyarm_nanopi-r2s-squashfs-sysupgrade.img.gz

img

NO.2
刷入固件

前提条件

软件: balenaEtcher (下载地址:https://etcher.balena.io/)

硬件:TF卡(128GB)(搭配对应的USB读卡器)

安装balenaEtcher后,打开软件,插入读卡器读取TF卡

img

选择固件

img

img

选择磁盘

注意这个要特别注意,认真查看选中的磁盘大小,确认和TF卡大小一致

避免选中其他U盘或者本机磁盘,造成把电脑自身系统给格式化了

img

img

点击Flash开始刷入固件到TF卡

mac上需要输入密码

img

等待刷入完成

img

输入成功后会看到弹框提示不能识别

点击忽略或者推出(mac上建议点击退出)

img

这是完成的界面

img

NO.3
启动系统

把TF卡插入R2S,然后插入电源线,开启电源

此时建议不要插入网线R2S的Wlan和Lan口,避免影响其他路由

等待system红灯闪缩到红灯稳定,说明系统已经成功运行

注意

本文直接用R2S Lan(局域网),连接到电脑网线,发现无法识别网络

但是把R2S Lan(局域网),网线接入一个动态配置的路由器,然后电脑连接路由器的wifi是可以正常访问openWrt的

所以固件本身没有问题,但是要进行测试和设置,这里还要提前准备一个路由器

如果你的Lan和电脑网线可以正常连接识别,那么上面的注意事项可以略过

这个固件的默认管理后台地址:http://192.168.8.1

默认账户:root   默认没有密码

访问管理后台

img

点击登录

img

这个时候,可以把已经设置好的有网的路由器的网线,插入到R2S的Wlan口,这样R2S就有网了(不需要网可以略过)

NO.4
固件扩容

本意是把安装固件和固件扩容分为2个文章

但是由于扩容是一个操作一次失败TF固件系统就变砖的高危操作,每次失败后都要重新刷固件,所以把两者放在一起(方便一次性安装固件并扩容固件)

不建议把已经用了一段时间或者设置了很多配置的固件进行扩容,如果没有docker等需求,建议保持现状

如果非要进行扩容,记得提前备份正在运行的固件(方便随时恢复数据)

扩容文档参考地址(这个地址随时会失效,而且也仅仅是参考)

https://doc.openwrt.cc/1-General/6-Resize/

img

点击菜单,系统->软件包,查看系统空闲空间

可以看到只有600M多(但是TF卡本身有128GB的内存)

img

点击菜单,系统->磁盘管理

找到TF卡设备(一般为/dev/mmcblk0),点击对应的右侧的修改

img

可以看到有118GB左右的空闲磁盘空间

点击对应的新建按钮

img

可以看到已被格式化为ext4格式

如果没有被格式化,会显示格式化按钮,点击对应的格式化

弹框选择ext4格式,进行格式化

img

进入openWrt的ssh终端

点击菜单,系统->TTYD终端

输入账户名和密码(如root 以及你自己设置的管理后台登录密码)

img

登录ssh成功后

这个作者的固件会弹出一堆选项

输入0,按Enter退出选项

img

查看当前分区

可以看到我们有一个/dev/mmcblk0p3的分区为109GB

df -h

img

对文件进行迁移操作

把/dev/mmcblk0p3 分区挂载至 /mnt

img

再次查看分区

可以看到/dev/mmcblk0p3已经被挂在到/mnt上了

img

将 /overlay 分区下的所有文件拷贝至刚刚建立好的分区内

cp -f -a /overlay/. /mnt

查看是否拷贝成功

ls -a /mnt

以及

ls -a /overlay

如下图所示,应是成功

img

点击菜单,系统->挂载点

点击生成配置

img

等页面自动刷新后

在挂载点页面下挂载点菜单,看到/dev/mmcblk0p3这个ext4的分区标识

点击对应的修改按钮

img

这里我下拉选择,作为根文件系统/

并且要注意,下面提示的命令要及时保存下来,待会会用到

点击保存并应用

img

提示的命令备份

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

等页面保存并应用自动刷新页面后

进入ssh后,一个一个执行以下命令

注意上面的sda1换为实际的mmcblk0p3

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

再次确认挂载点/dev/mmcblk0p3被勾选上,且挂载的点为  /

然后滚动到页面底部

再次点击保存并应用后

然后重启openWrt

img

建议使用ssh,使用命令reboot重启

重启后,再次尝试进入管理后台页面

成功进入,并且再次点击菜单,系统->软件包,查看空闲空间为115GB(说明扩容成功了)

img

如果……

如果重启后,一直无法进入管理后台,大概率是设置失败,系统变砖,需要重新刷入固件到TF卡

重新尝试以上所有流程,确保每一步都是正确,或者根据你自己的硬件或者固件进行微调(本文仅供参考)

这个固件自带的分区扩容插件,本文试过N次,均失败

作者有心安装了这个插件,但是实际上使用达不到效果

下图中overlay软件空间和docker数据卷(在上文的修改同样使用,只需要把 /  改为对应的如/overlay目录即可),具体多尝试

img

NO.5
Tips

注意事项

如果网速只有500M以下,可以考虑入手R2S(但是其内存只有1G,基本无法跑什么Docker服务,大部分的性能刚好够软路由)

如果网速需要千兆,那么可以入手R4S等(内存4G,除去软路由功能,还可以考虑Docker等其他应用)

虽然R2S性能不高,用作All In One,既不能有视频硬解,也无法安装大内容的应用,但是用来部署一些PT资源下载,或者静态网页,或者轻量的自动化脚本,还是可以一试的

后期会逐一尝试,毕竟R2S的价格200元左右,R4S的价格500元,R6S的价格1000元左右

200左右作为一个入门款,有时间折腾且需求不多,酌情可以尝试

END.

推荐阅读

<<OpenWrt软路由(NanoPi For NAS All In One R4S ):设置SSH和Docker Compose>>

<<OpenWrt软路由(NanoPi For NAS All In One R4S ):portainer容器管理平台>>