4

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

 1 year ago
source link: https://uzbox.com/openwrt/openwrt-usb.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
首页路由刷机OpenWrt挂载USB 在U盘上安装软件

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

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

OpenWrt挂载USB 如果你的路由器内存比较小,安装空间没有那么大的话,可以考虑 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
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
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 然后确认,点击保存并应用。

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

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

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

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

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

dd if=/dev/zero of=/mnt/sda1/swapfile bs=1024 count=500000
mkswap /mnt/sda1/swapfile
swapon /mnt/sda1/swapfile
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
#新建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
swapoff /overlay/swapfile
rm /overlay/swapfile

配置交换分区

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

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

到这里挂载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的存储设备,就必须使用第三方格式化程序。

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”将是一个安全的选择。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK