OpenWrt挂载USB 在U盘上安装软件

如何使用 OpenWrt挂载USB 在U盘上安装软件

如果你的路由器内存比较小,安装空间没有那么大的话,可以考虑 OpenWrt挂载USB 作为系统存储,这样 OpenWrt 在U盘上安装软件包,就不用担心软件大小的问题了。

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

首先需要安装 OpenWrt挂载USB 的软件包列表:

步骤1:安装 OpenWrt挂载USB 的所需软件

  • kmod-usb-ohci USB芯片的驱动。
  • kmod-usb2kmod-usb3 USB2.0、USB3.0驱动。
  • kmod-usb-storagekmod-usb-storage-extraUSBkmod-usb-storage-uas储存驱动。
  • block-mountblockd挂载程序(安装完成后重启会在LuCI界面的系统下出现挂载点选项)。
  • kmod-fs-ext4kmod-fs-vfatntfs-3gkmod-fs-ntfs分别是 ext4 分区格式支持,FAT 分区格式支持,和 NTFS 分区格式支持。kmod-fs-ntf是NTFS的内核驱动。

需要安装的软件包:

  • kmod-usb-ohci
  • kmod-usb2
  • kmod-usb3
  • kmod-usb-core
  • kmod-usb-storage
  • kmod-usb-storage-extras
  • kmod-usb-storage-uas
  • block-mount
  • blockd
  • kmod-fs-msdos
  • kmod-fs-ext4
  • kmod-fs-vfat
  • kmod-fs-ntfs
  • ntfs-3g
  • e2fsprogs
  • cfdisk
  • hd-idle
  • luci-i18n-hd-idle-zh-cn
  • smartmontools

可以在系统的操作界面中安装,也可以通过SSH在路由器上安装,安装完成后,重新启动路由器。

opkg update
opkg install kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-usb-core kmod-usb-storage kmod-usb-storage-extras kmod-usb-storage-uas block-mount blockd
opkg install kmod-fs-msdos kmod-fs-ext4 kmod-fs-vfat kmod-fs-ntfs ntfs-3g e2fsprogs cfdisk hd-idle luci-i18n-hd-idle-zh-cn smartmontools

步骤2:设置挂载点

首先格式化U盘,将U盘转换为ext4系统,SSH到路由器,使用命令将U盘格式化ext4系统。如果之前没有安装 e2fsprogs 需要安装 e2fsprogs 才能格式化U盘。查看/dev/目录可以看到U盘。如果U盘只有一个分区,OpenWrt系统会自动识别为/dev/sda1

ls -al /dev/sd*
mkfs.ext4 /dev/sda1
block detect | uci import fstab
uci set fstab.@mount[0].enabled='1' && uci set fstab.@global[0].anon_mount='1' && uci commit fstab
/sbin/block mount && service fstab enable
#设置完毕后重新启动路由器
reboot

OpenWrt挂载USB 在U盘上安装软件

新建挂载点

在Openwrt的LUCI界面,系统->挂载点,自动加载配置,在挂载点处点击新增,挂载采用UUID方式挂载,这样可以保证重启后,总是挂载上正确的启动硬盘。这样就可以配置自动挂载U盘了。挂载点选择 /overlay 然后确认,点击保存并应用。

注意:一定要勾选挂载点里面的已启用,否则会挂载失败、

重新启动路由器后,系统进入U盘系统模式,U盘挂载成功。可以看到,已挂载的文件系统中,/dev/sda1 已经挂载在/overlay上了。此时是Openwrt系统已经恢复了出厂设置,还需要重新安装所需的软件源和软件包。在U盘系统下重新安装软件包,LUCI管理界面和SSH终端安装软件包都可以。

关于交换分区,挂载点配置完毕后,可以在母系统生成一个交换文件swapfile,作为交换分区即可。接下来重新启动后进入U盘的全新子系统。

dd if=/dev/zero of=/mnt/sda1/swapfile bs=1024 count=500000
mkswap /mnt/sda1/swapfile
swapon /mnt/sda1/swapfile

启用交换分区

在U盘的子系统中,重新安装挂载点相关软件,之后SSH路由器,在系统中新建一个交换文件swapfile, 大小200MB作为交换分区。新建交换分区时候请耐心等待。
SSH进路由器,输入如下命令新建交换分区:

#新建swapfile交换分区
dd if=/dev/zero of=/overlay/swapfile bs=1024 count=200000
#将swapfile设置为swap空间
mkswap /overlay/swapfile
#启用交换空间
swapon /overlay/swapfile
#查看是否增加swap分区
free -h

OpenWrt挂载USB 在U盘上安装软件

如果你想删除交换分区,需要先关闭交换分区,然后再进行删除。

swapoff /overlay/swapfile
rm /overlay/swapfile

配置交换分区

在OpenWrt管理页面,系统->挂载点, 交换分区-> 点击新增,在设备中选择自定义, 然后输入我们的上面生成交换文件 /overlay/swapfile , 勾选上面的启用选项, 保存应用。
到这里挂载U盘的设置已经全部完成了。

扩展阅读:关于“NTFS”、“FAT32”、“exFAT”与文件系统的区别

FAT32

32位文件分配表[文件分配表:FAT]被称为“FAT32 ”。根据位数的不同,也有“FAT16”和“FAT12”,但最近主要的FAT是32bit。

这个文件系统主要用在 Windows 98/Me 中,但后来的操作系统继续支持它。它可以与最新版本的Windows 11一起使用,也可以与MacOS和Linux等其他操作系统一起使用。

如果您将“64GB”USB 闪存格式化为“FAT32”,则根据 Windows 规范,最多只能识别“32GB”容量。按照“FAT32”的标准,它当然可以处理2TB,但如果你想在Windows上格式化容量大于32GB的存储设备,就必须使用第三方格式化程序。

NTFS

NT文件系统[NTFS]是Windows NT系列的标准文件系统,是目前Windows的主流文件系统。

由于是 NT 系统,因此可以与 Windows NT 或更高版本的操作系统(2000/XP 或更高版本)一起使用,但不能与 Windows 95、Windows 98 等一起使用。

NTFS 理论上可以管理 2 64 -1 个集群卷(最多 16 EB),但这也受到计算机性能的限制。

但是,对于“2048 KB”的集群大小,Windows 10 版本 1709 及更高版本最多支持“8 PB(PB)”(以及文件大小)。“Peta”是“Tera”的 1000 倍。支持超维度能力,尽管有限。

一些新的录制设备支持“4KB”扇区大小,如果操作系统和存储设备都原生支持4K,则可以更有效地管理大容量设备。

exFAT

exFAT [Extended File Allocation Table]是在传统 FAT 的基础上改进的文件系统。

针对 USB 闪存和 SD 卡等闪存设备优化的文件系统。

最大的优点是它支持大磁盘和文件大小。如果你使用最新的Windows,它支持“最大512TB的卷”和“最大128PiB的文件”,所以你可以认为一般使用几乎没有实际限制。

如果您想在计算机上使用外部 HDD/SSD (如扩展驱动器)而不移动它,您可以将其设置为“NTFS”没有任何问题。连接时,使用“exFAT”而不是“NTFS”进行格式化可能会管理数据更有效率。

但是,虽然命名为 FAT,但它与常规的 FAT32 不兼容,因此 exFAT 无法在仅支持 FAT32 的设备上使用。

“exFAT”还与 Apple 的 MacOS 兼容,因此在与 Windows 和 Mac 共享存储设备时,“exFAT”是最有可能的候选者。

如果是 NTFS,MacOS 可能无法很好地读取。也支持“FAT32”,但正如预期的那样,数据容量限制很严格,所以如果您处理大量数据,“exFAT”将是一个安全的选择。

评分

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注