挂载USB硬盘扩容系统和内存容量存储硬盘扩容
序如果想让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功能。
有用就给我点个赞。
页:
[1]