需求
DIR-505 有一个 USB2.0 接口,给它带来了很大的扩展性,我们可以插 U 盘、移动硬盘等,来做文件共享,或者离线下载等。接下来就先搞定 U 盘,主要参考资料:http://wiki.openwrt.org/doc/howto/usb.storage
安装
1. 安装 USB 和存储器的内核模块
1 | opkg update |
2. 安装文件系统内核模块
1 | opkg install kmod-fs-ext4 |
3. 安装应用工具
USB 辅助工具、分区、格式化工具,这些非必要,看情况安装:
1 | opkg install usbutils fdisk e2fsprogs |
调试
1. 测试能否识别 U 盘
不插 U 盘时,输入 lsusb
,显示如下
1 | Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
插入 U 盘后,再 lsusb
,发现多了一条,这说明工作正常:
1 | Bus 001 Device 002: ID 0603:0908 Novatek Microelectronics Corp. |
2. 分区
如果 U 盘需要重新分区,请用 fdisk
,这里不具体介绍,也可以在 Windows 上用 diskpart
完成,如果您还在路由器上操作,可以参考这个:http://www.leiphone.com/diy-a-smart-router-topic-increase-memory-3.html,第一步: 对设备进行分区。
分区完后,查看一下 /dev 目录里有没有出现硬盘符和分区符:
1 | ls /dev | grep sd |
上面装了 ext4 文件系统的驱动,因为这个对 OpenWRT 最合适,如果原来不是这个格式,那么安装了 e2fsprogs 后就可以用下面命令格式化了:
1 | mkfs.ext4 /dev/sda1 |
3. 挂载
接下来用 mount 挂接,头尾行是必须,中间的三行是一种防止未挂接好就被写入的机制:
1 | mkdir /mnt/usb |
到这里就可以通过 /mnt/usb 来访问 U 盘了,不过工作才完成一半而已……下面还要让 U 盘能开机自动加载,主要参考:http://wiki.openwrt.org/doc/techref/block_mount 和 http://wiki.openwrt.org/doc/uci/fstab。先安装程序:
1 | opkg install block-mount blkid |
如果您比较珍惜存储空间,可以不用安装 blkid,block-mount 就行。用 blkid
或 block info
,查看分区的 UUID。比如用 blkid
,则 UMU 的 U 盘是显示:
1 | /dev/mtdblock7: TYPE="squashfs" |
接下来输入 block detect
查看一下:
1 | config 'global' |
生成配置文件,并把上面的 target 改为您想要的,enabled 值改为 1:
1 | block detect > /etc/config/fstab |
参考
本文介绍的都是精简过的必须操作,其它可选项请自行参考:http://wiki.openwrt.org/doc/uci/fstab。