17.5 USB 存储设备

Contributed by Marc Fonvieille.

  到目前为止,有许多外部外部存储解决方案, 例如:通用串行总线 (USB):硬盘、USB thumbdrives、CD-R burners 等等。 FreeBSD 为这些设备提供了支持。

17.5.1 配置

   USB 大容量存储设备驱动,在 umass(4), 中提供了对 USB 存储设备的支持。如果您使用 GENERIC 内核,您不必要改变配置文件里的任何内容。 如果您使用了定制的内核,就要确定下面的行出现在您的内核配置文件里:

device scbus
device da
device pass
device uhci
device ohci
device usb
device umass

   umass(4) 驱动程序使用 SCSI 子系统来访问 USB 存储设备, 您的 USB 设备将被系统看成为一个 SCSI 设备。依靠您主板上的 USB 芯片, 您只须选择 device uhcidevice ohci 二者之一即可, 但是两者都加入内核配置文件当中也没有坏外。 不要忘了如果您加入了上面的几行要重新编译和安装内核。

注意: 如果您的 USB 设备是一个 CD-R 或 DVD 刻录机, SCSI CD-ROM 驱动程序, cd(4), 就必须加入内核中通过下面这行:

device cd

由于刻录机被视为 SCSI 设备, 因此, 不应该在内核配置文件中使用 atapicam(4) 驱动程序。

  在 FreeBSD 中已经提供了对 USB 2.0 控制器的内建支持; 然而, 您必须在编译内核时在配置中加入:

device ehci

  注意, 如果需要 USB 1.X 的支持, 您仍需要使用 uhci(4)ohci(4) 驱动程序。

17.5.2 测试配置

  配置好后准备进行测试:插入您的 USB 设备, 在系统信息中 (dmesg(8)), 应该会出现像下面的设备:

umass0: USB Solid state disk, rev 1.10/1.00, addr 2
GEOM: create disk da0 dp=0xc2d74850
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)

  当然啦,商标,设备标识 (da0) 和其它的细节信息会根据您的配置不同 而有所不同。

  因为 USB 设备被看作 SCSI 设备中的一个, camcontrol 命令也能够用来列出 USB 存储设备和系统的关联:

# camcontrol devlist
<Generic Traveling Disk 1.11>      at scbus0 target 0 lun 0 (da0,pass0)

  如果设备要作成文件系统,您应该能够挂接它。 第 17.3 节 将帮助您格式化和创建分区在 USB 设备上,如果您需要。

  如果您要去摘下设备 (在此这前磁盘必须被 unmount), 在系统信息中您能够看到下面的信息:

umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
GEOM: destroy disk da0 dp=0xc2d74850
umass0: detached

17.5.3 深入阅读

  除了 Adding DisksMounting and Unmounting File Systems 章之外,阅读 umass(4), camcontrol(8), 和 usbdevs(8) 也是很有益的。

本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<[email protected]>.
关于本文档的问题请发信联系 <[email protected]>.