设若您已取得了基本USB支持,现在,您也许想要连接USB存储设备到路由器上 (U盘,USB移动硬盘,等等)。这个条目将告诉您所需的步骤和要求。
主要步骤如下:
/dev/
. For example /dev/sda
as the device, with /dev/sda1
, /dev/sda2
, ... , the partitions. Or, in case it is not partitioned with a partition table and it has a single file system it may be directly accessible under e.g. /dev/sda
. Subsequent devices you add will be /dev/sdb
, /dev/sdc
and so on. Make sure that the file system requirements are satisfied by installing the proper kernel packages for specific file system support (see Storage);/etc/config/fstab
and you can configure it as root file system using extroot.When your USB device is properly recognised by the system, using the proper driver kernel packages listed in 基本USB支持, the following packages facilitate USB storage support:
kmod-usb-storage
required ... Kernel support for USB Mass Storage devices.kmod-fs-<file_system>
required ... the file system you formatted your partition in. Common examples include kmod-fs-ext4, kmod-fs-hfs, kmod-fs-hfsplus, kmod-fs-msdos, kmod-fs-ntfs, kmod-fs-reiserfs and kmod-fs-xfs.kmod-usb-storage-extras
optional ... Kernel support for some more drivers, such as for SmartMedia card readers.kmod-scsi-core
Any mass storage is a generic SCSI device. Before the Attitude Adjustment release, other optional packages included: block-hotplug for USB recognition upon plug-in and block-extroot required for rootfs on external storage. In r26314 the three opkg packages block-mount , block-extroot and block-hotplug have been merged into a single package block-mount . |
e2fsprogs
additional This package contains essential ext2/ext3/ext4 filesystem utilities for formatting and checking for errors on ext2/ext3/ext4 filesystems like mkfs.ext3, mkfs.ext4, fsck and other core utilities.The following will install USB storage support, assuming USB works already, install ext4 file system support and mount a connected USB drive, pre-partitioned with a Linux swap partition and an ext4 partition.
opkg update opkg install kmod-usb-storage block-mount kmod-fs-ext4 mkswap /dev/sda1 swapon /dev/sda1 mkdir -p /mnt/share mount -t ext4 /dev/sda2 /mnt/share -o rw,sync
Note that partitions are usually auto detected, so this should work as well using default settings:
mount /dev/sda2 /mnt/share
Another example is how to use an external usb stick with a FAT32 partition (but we'll keep ext4 support also). See also Storage.
opkg update opkg install kmod-usb-storage block-mount block-hotplug kmod-fs-ext4 kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 mkdir -p /mnt/usb mount -t vfat /dev/sda1 /mnt/usb
You may create an empty file to indicate that the disk is not plugged in so that you don't put files directly onto NAND by doing
umount /mnt/usb #make sure the disk isn't mounted before doing this touch /mnt/usb/USB_DISK_NOT_PRESENT chmod 555 /mnt/usb chmod 444 /mnt/usb/USB_DISK_NOT_PRESENT
This will prevent only processes not running as root from writing onto NAND (see this discussion). You can of course also use this file in your own scripts.
Linux Hard Disk Encryption With LUKS
opkg install cryptsetup lvm2 kmod-crypto-aes kmod-crypto-misc kmod-crypto-xts kmod-crypto-iv kmod-crypto-cbc kmod-crypto-hash kmod-dm
echo sha256_generic >/etc/modules.d/11-crypto-misc
cryptsetup luksOpen /dev/encrypted_partition usbstorage_luks && mount /dev/mapper/usbstorage_luks /mnt/mountpoint
umount /mnt/mountpoint && cryptsetup luksClose usbstorage_luks
<none yet>