如果想让OpenWrt扩展功能,比如让它成为一个小型的NAS服务器或者web服务器,还有一个障碍需要克服。

因为路由器的CPU和内存都比电脑甚至手机弱很多。凑合着用比较慢的CPU计算也可以。毕竟我们没有那么高的需求,但是如果没有足够的存储空,就无法安装插件,再强大的扩展能力也只能望洋兴叹。

空房间快满了。如果再满,文件系统就会崩溃,整个房间都会变成只读。到时候固件就要重新刷了。

要求

在折腾其他扩展之前,我想连接一个500G的USB硬盘给OpenWrt,满足以下需求:

  • 从硬盘挂载一个512M的分区作为交换分区,在Windows平台上可以看作是虚拟内存,从而扩展内存。
  • 再分离一个5G分区,挂载为系统目录,扩展系统闪存。
  • 剩下的空空间留作备用,需要的时候可以新建一个分区,挂载到系统目录的子目录下就可以使用了。
  • 安装所需的工具。

    使用

    Cfdisk:愚蠢的分区工具

    E2fsprogs:格式化工具

    KMOD-FS-EXT4: EXT4文件系统支持

    SSH到OpenWrt命令行,并输入命令来更新包源代码:

    opkg更新

    然后安装该工具并输入命令:

    opkg安装cfdisk e2fsprogs kmod-fs-ext4

    如果有提示"...安装在根目录是最新的",此工具已安装在系统中。

    对硬盘进行分区。

    将USB硬盘连接到路由器。要首先对硬盘进行分区,请输入:

    cfdisk

    进入cfdisk程序界面,简单介绍一下cfdisk的界面:

    双指放大视图

    我之前已经做过交换分区了。接下来,在未分区的位置创建一个新的5G分区。

    双指放大视图

    双指放大视图

    双指放大视图

    双指放大视图

    双指放大视图

    双指放大视图

    双指放大视图

    分区建立后需要格式化,因为我之前已经格式化过了,这里就不演示了。格式命令如下所示:

    Mkswap /dev/sda1 #将/dev/sda1建立为交换分区mkfs.ext4 /dev/sda2 #将/dev/sda2格式化为ext4文件系统。

    分别执行上面两个命令,注意/dev/sda1是你的设备名,我之前让你写下来的。

    挂载交换交换分区

    进入OpenWrt的后台,系统→挂载点→交换→点击添加。

    双指放大视图

    在设备菜单中选择mkswap的前一个分区。

    双指放大视图

    它显示它已安装,但您必须将其拖到页面底部,然后再次单击“保存并应用”。之前没设置成功是因为没点这里。

    要验证swap是否已经成功建立,只需进入状态→概述,就会出现“虚拟内存”,表示已经成功。

    双指放大视图

    挂载系统根目录

    这里有两个步骤,首先,挂载overlayfs,然后挂载根目录。

    Overlayfs有两个主要功能。一是压缩存储文件,在磁盘紧张的情况下,尽量少占用空之间的空间;二是在系统底层增加一层保护机制,在折腾不当的情况下可以“恢复出厂设置”,避免换砖。

    但是我们挂载硬盘之后空空间就够了,路由器刷了神仙品种。叠加对我来说没用,但也增加了压缩过程,降低了文件效率。

    所以我决定直接挂载根目录,放弃overlayfs。

    让我们回到挂载点的设置页面。

    在页面底部的“交换”上方,有一个装载点设置,单击“添加”。

    双指放大视图

    请注意,选择安装带有UUID的识别设备会更准确。UUID下拉菜单在每个选项后列出了设备名称,这有助于您识别设备。完成这些步骤后,不要保存和应用。

    返回SSH并执行以下命令:

    mkdir-p/tmp/inroot #在/tmp目录中创建in root文件夹mkdir -p /tmp/extroot #在/tmp目录中创建extroot文件夹Mount-bind//tmp/in root #将/根目录挂载到in rootMount/dev/sda 1/tmp/extroot #将硬盘挂载到extroottar-c/tmp/in root-CVF-。| tar-c/tmp/extroot-xf-#在introot中打包系统镜像,在硬盘中解压 umount/tmp/int。

    当命令引用设备名(/dev/sda1)时,您应该用自己的设备名替换它。

    这一步是将根目录复制并镜像到要挂载的设备。挂载完成后,OpenWrt将从USB硬盘启动系统,并在闪存中保留备份。如果硬盘挂了,它也可以从自己的闪存启动系统。

    执行命令后,返回到后台页面并单击保存和应用。

    重启路由器。

    双指放大视图

    你可以看到扩展是成功的。

    标签

    目前在系统分区添加插件时,完全不用担心空不足的问题。加入swap后,虽然效率不高,但是路由器的稳定性明显提高。下一步计划挂载硬盘剩余空个房间,作为内网共享,安装离线下载,初步实现NAS功能。


    有用就给我点个赞。