OpenWrt挂载U盘

本人一的路由器是Newifi3, 刷成OpenWrt之后发现软件包的空闲空间过小,于是买了一个U盘作为备用空间,照着网上的教程做失败了很多次,感觉主要失败点在于U盘的格式问题(ext4、NTFS、exFAT)和U盘是否已被当作挂载点,路由器重装了很多次。后来自己按照官方文档一步步来最后成功了。

参考官方文档:https://openwrt.org/docs/guide-user/storage/usb-drives-quickstart

此操作可能会恢复路由器的出厂设置,执行此操作前请备份好原路由器中的文件、配置并谨慎考虑是否继续

如果在开始操作前已经尝试过挂载U盘并且没有成功,建议恢复出厂设置后再开始以下操作。

一. 下载依赖

使用SSH进入路由器后台,输入以下指令,然后按回车(如果不知道怎样用SSH登录路由器,请搜索“使用PUTTY登陆路由器”)
opkg update && opkg install block-mount e2fsprogs kmod-fs-ext4 kmod-usb-storage kmod-usb2 kmod-usb3

如果出现了无法安装的问题,那就试着重新编译路由器固件(步骤较为复杂,请自行查找方法)





二. 格式化U盘

在Windows操作系统上将U盘格式化成FAT32的格式。

三. 输入命令行

先不插入U盘,输入ls -al /dev/sd*查看当前目录。此时应该为空文件夹或者找不到文件夹。

插入U盘,再次输入ls -al /dev/sd*,此时看见目录多出了两个文件。(如果没有显示文件就重启路由器)

执行四行代码
mkfs /tmp/MyDrive
mount /dev/sda1 /tmp/MyDrive
umount /tmp/MyDrive
mkfs.ext4 /dev/sda1
如果提示Proceed anywawy?输入y,然后回车

执行三行代码
block detect | uci import fstab
uci set fstab.@mount[0].enabled='1' && uci set fstab.@global[0].anon_mount='1' && uci commit
/sbin/block mount && service fstab enable

浏览器登录luci界面,点击系统->挂载点。在挂载点的下方点击修改按钮。

挂载点选择作为外部overlay使用(/overlay)(不要选择其他选项),点击保存,再点击保存&应用

在命令行输入reboot执行路由器重启。重启后路由器可能会恢复出厂设置。 重启后打开系统->软件包,可以看见空闲空间已经变大。