openwrt下挂载USB存储设备
openwrt下挂载USB存储设备
openwrt下如果要挂载USB存储设备,需要以下步骤:
- 安装驱动和工具包
- 首先安装必需的内核驱动
kmod-usb-core
kmod-usb-ehci
kmod-usb-ohci
kmod-usb2
kmod-usb-storage
kmod-scsi-core
kmod-fs-ext4
这里因为我使用的USB2.0的U盘,因此安装kmod-usb2就可以了,如果使用的是USB3.0接口的存储设备,还需要安装kmod-usb3内核包。
另外此次测试U盘按照EXT4文件系统格式化的,因此这里安装了kmod-fs-ext4的内核包,如果使用其他文件系统,如NTFS格式的,那么还要安装对应的内核包以识别并支持对应的文件系统。
这里有个需要注意的地方,当通过opkg指令在线安装内核模块时,会有几率导致安装不成功,内核模块不能正常加载。进而导致系统崩溃反复重启,或者大容量存储设备无法识别,/dev/sd(x) 设备一直出不来。出现这种状况时,简单的解决办法是在编译固件时就选择好对应的内核模块,将内核模块直接编译到固件中。 - 安装工具包
这里的工具包有些并不是必需的,但是它们很方便使用,可以一起装上以方便后续的操作。usbutils
这个是一个USB设备查看的小工具,方便我们查看USB设备是否识别到以及其他更详细的信息,常用的指令就是lsusb -t
来查看USB口是否正确识别到了设备。 如果正常识别的话结果类似下面这种:
- 首先安装必需的内核驱动
ehci是USB2.0驱动,可以看到它下面识别到了一个大容量存储的设备。
- fdisk
这个是一个经典常用的分区工具,这里我们用来对U盘分区和初始化分区表,具体如何使用后文有说明。
- e2fsprogs
这是一个初始化文件系统的工具,这里我们用来给U盘初始化为ext4文件系统。
2. 初始化U盘
U盘必须初始化为openwrt系统下可以支持和识别的分区类型及文件系统类型,才可以正确的挂载到opewnrt系统下。
- 上文里的内核驱动都安装完成之后,插入U盘,就可以在/dev目录下看到相应的设备,如/dev/sda:
如果没出现相应设备,就检查一下内核驱动是否正确安装上,USB口是否识别到了大容量存储设备。
- 接着我们用fdisk工具来给U盘重新创建分区。
-
命令
fdisk /dev/sda
选中要操作设备,p
查看设备详细信息,i
查看设备的分区信息。 -
根据上面指令查到的分区信息,使用指令
d
删除所有分区信息。 -
指令
n
创建新的分区,操作步骤按照提示操作即可。 -
操作完成之后,一定要记住使用指令
w
写入修改的信息,否则前面的操作都是无效的。 -
之后在
fdisk /dev/sda
进入设备分区界面之后,再次使用i
指令查看分区操作是否完成,以及新的分区名,可以看到新的分区名是/dev/sda1
-
- 挂载设备
这一步将存储设备加上某种文件系统(这里采用ext4),之后挂载在openwrt文件目录的某个文件夹下。-
首先使用指令
mkfs.ext4 /dev/sda1
来将上一步初始化完成的新分区加载上ext4的文件系统,按照提示使用默认配置即可 -
使用
mount
指令来挂载设备,这里将新的分区挂载到/mnt/usb
目录下,这个目录可以自己来创建 -
使用指令
mount
查看新的分区是否正确的挂载在了目录结构里了
-
完成以上所有步骤之后,进入目录/mnt/usb/
下之后,就进入了外置USB存储设备的空间了!